diff options
| author | Brian Anderson <banderson@mozilla.com> | 2011-11-16 16:58:52 -0800 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2011-11-16 17:22:14 -0800 |
| commit | bae817efe688d32047db158606495dea6a2466f0 (patch) | |
| tree | 3a2f9f4bf6c1c5dcd868d1c250b4a2b0b7484906 /src/rt | |
| parent | 342dc21d2ceda92319e11937a553383e3e39d341 (diff) | |
rt: Remove rust_task::notify_tasks_wating_to_join
Diffstat (limited to 'src/rt')
| -rw-r--r-- | src/rt/rust_scheduler.cpp | 1 | ||||
| -rw-r--r-- | src/rt/rust_task.cpp | 15 | ||||
| -rw-r--r-- | src/rt/rust_task.h | 6 |
3 files changed, 0 insertions, 22 deletions
diff --git a/src/rt/rust_scheduler.cpp b/src/rt/rust_scheduler.cpp index cf3b03ee60d..6a88c2f2417 100644 --- a/src/rt/rust_scheduler.cpp +++ b/src/rt/rust_scheduler.cpp @@ -137,7 +137,6 @@ rust_scheduler::reap_dead_tasks(int id) { task->lock.lock(); // Make sure this task isn't still running somewhere else... if (task->can_schedule(id)) { - I(this, task->tasks_waiting_to_join.is_empty()); DLOG(this, task, "deleting unreferenced dead task %s @0x%" PRIxPTR, task->name, task); diff --git a/src/rt/rust_task.cpp b/src/rt/rust_task.cpp index 14a32ac2c63..19e9e1e14e1 100644 --- a/src/rt/rust_task.cpp +++ b/src/rt/rust_task.cpp @@ -197,7 +197,6 @@ void task_start_wrapper(spawn_args *a) #endif } else { task->lock.lock(); - task->notify_tasks_waiting_to_join(); task->lock.unlock(); task->yield(1); } @@ -324,7 +323,6 @@ rust_task::conclude_failure() { unblock(); fail_parent(); failed = true; - notify_tasks_waiting_to_join(); yield(4); } @@ -356,19 +354,6 @@ rust_task::unsupervise() propagate_failure = false; } -void -rust_task::notify_tasks_waiting_to_join() { - while (tasks_waiting_to_join.is_empty() == false) { - LOG(this, task, "notify_tasks_waiting_to_join: %d", - tasks_waiting_to_join.size()); - rust_task *waiting_task = 0; - tasks_waiting_to_join.pop(&waiting_task); - if (waiting_task->blocked() == true) { - waiting_task->wakeup(this); - } - } -} - frame_glue_fns* rust_task::get_frame_glue_fns(uintptr_t fp) { fp -= sizeof(uintptr_t); diff --git a/src/rt/rust_task.h b/src/rt/rust_task.h index edd4faa8903..9311ba610a8 100644 --- a/src/rt/rust_task.h +++ b/src/rt/rust_task.h @@ -99,9 +99,6 @@ rust_task : public kernel_owned<rust_task>, rust_cond // that location before waking us up. uintptr_t* rendezvous_ptr; - // List of tasks waiting for this task to finish. - array_list<rust_task *> tasks_waiting_to_join; - // This flag indicates that a worker is either currently running the task // or is about to run this task. int running_on; @@ -184,9 +181,6 @@ rust_task : public kernel_owned<rust_task>, rust_cond // Disconnect from our supervisor. void unsupervise(); - // Notify tasks waiting for us that we are about to die. - void notify_tasks_waiting_to_join(); - frame_glue_fns *get_frame_glue_fns(uintptr_t fp); rust_crate_cache * get_crate_cache(); |
