about summary refs log tree commit diff
path: root/src/libstd/rt/task.rs
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2013-06-13 22:43:20 -0700
committerBrian Anderson <banderson@mozilla.com>2013-06-13 23:18:49 -0700
commitfd148cd3e2d08ce15272f0690f6e41d2e85ee721 (patch)
tree80aa3c6252d68a5bf40117d4753e323a13695386 /src/libstd/rt/task.rs
parentabc3a8aa1e76f3ecc3930e20453a52681843cec0 (diff)
downloadrust-fd148cd3e2d08ce15272f0690f6e41d2e85ee721.tar.gz
rust-fd148cd3e2d08ce15272f0690f6e41d2e85ee721.zip
std::rt: Change the Task constructors to reflect a tree
Diffstat (limited to 'src/libstd/rt/task.rs')
-rw-r--r--src/libstd/rt/task.rs26
1 files changed, 24 insertions, 2 deletions
diff --git a/src/libstd/rt/task.rs b/src/libstd/rt/task.rs
index cf4967b12b3..10b4672df05 100644
--- a/src/libstd/rt/task.rs
+++ b/src/libstd/rt/task.rs
@@ -37,7 +37,7 @@ pub struct Unwinder {
 }
 
 impl Task {
-    pub fn new() -> Task {
+    pub fn new_root() -> Task {
         Task {
             heap: LocalHeap::new(),
             gc: GarbageCollector,
@@ -48,7 +48,29 @@ impl Task {
         }
     }
 
-    pub fn without_unwinding() -> Task {
+    pub fn new_root_without_unwinding() -> Task {
+        Task {
+            heap: LocalHeap::new(),
+            gc: GarbageCollector,
+            storage: LocalStorage(ptr::null(), None),
+            logger: StdErrLogger,
+            unwinder: None,
+            destroyed: false
+        }
+    }
+
+    pub fn new_child(&mut self) -> Task {
+        Task {
+            heap: LocalHeap::new(),
+            gc: GarbageCollector,
+            storage: LocalStorage(ptr::null(), None),
+            logger: StdErrLogger,
+            unwinder: Some(Unwinder { unwinding: false }),
+            destroyed: false
+        }
+    }
+
+    pub fn new_child_without_unwinding(&mut self) -> Task {
         Task {
             heap: LocalHeap::new(),
             gc: GarbageCollector,