diff options
| author | Brian Anderson <banderson@mozilla.com> | 2013-06-13 22:43:20 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2013-06-13 23:18:49 -0700 |
| commit | fd148cd3e2d08ce15272f0690f6e41d2e85ee721 (patch) | |
| tree | 80aa3c6252d68a5bf40117d4753e323a13695386 /src/libstd/rt/task.rs | |
| parent | abc3a8aa1e76f3ecc3930e20453a52681843cec0 (diff) | |
| download | rust-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.rs | 26 |
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, |
