about summary refs log tree commit diff
path: root/src/rt/rust_task.h
diff options
context:
space:
mode:
authorBen Blum <bblum@andrew.cmu.edu>2012-07-17 20:40:40 -0400
committerBen Blum <bblum@andrew.cmu.edu>2012-07-17 20:45:07 -0400
commit4cf6b4d3b4ea5cd231ab96d82f5f8cd794e0b2c3 (patch)
tree3f9ca49a7c78422148869b50df72f999c706cbe2 /src/rt/rust_task.h
parentd930d717e5f4557e47c9fd5bdca62a92f5cc8c38 (diff)
downloadrust-4cf6b4d3b4ea5cd231ab96d82f5f8cd794e0b2c3.tar.gz
rust-4cf6b4d3b4ea5cd231ab96d82f5f8cd794e0b2c3.zip
Tasks should not hold a ref to their parent (Close #1789)
Diffstat (limited to 'src/rt/rust_task.h')
-rw-r--r--src/rt/rust_task.h9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/rt/rust_task.h b/src/rt/rust_task.h
index 8baa852378a..cae058d7227 100644
--- a/src/rt/rust_task.h
+++ b/src/rt/rust_task.h
@@ -122,6 +122,8 @@ rust_task_fail(rust_task *task,
 struct
 rust_task : public kernel_owned<rust_task>
 {
+    // FIXME(#1789) Refcounting no longer seems needed now that tasks don't
+    // ref their parents. I'll leave it in just in case... -- bblum
     RUST_ATOMIC_REFCOUNT();
 
     rust_task_id id;
@@ -193,9 +195,6 @@ private:
 
     rust_port_selector port_selector;
 
-    lock_and_signal supervisor_lock;
-    rust_task *supervisor;     // Parent-link for failure propagation.
-
     // Called when the atomic refcount reaches zero
     void delete_this();
 
@@ -237,7 +236,6 @@ public:
     // Only a pointer to 'name' is kept, so it must live as long as this task.
     rust_task(rust_sched_loop *sched_loop,
               rust_task_state state,
-              rust_task *spawner,
               const char *name,
               size_t init_stack_sz);
 
@@ -279,9 +277,6 @@ public:
     // FIXME (#1868) (bblum): maybe this can be done at rust-level?
     void fail_sched_loop();
 
-    // Disconnect from our supervisor.
-    void unsupervise();
-
     frame_glue_fns *get_frame_glue_fns(uintptr_t fp);
 
     void *calloc(size_t size, const char *tag);