summary refs log tree commit diff
path: root/src/rt/rust_task_thread.cpp
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2012-03-02 15:14:52 -0800
committerBrian Anderson <banderson@mozilla.com>2012-03-02 15:21:59 -0800
commit14306756b4a4f5f83043e3c2f91169a151fd54f5 (patch)
treef27078ef26a89eb22fc1fc6841689b20eb20a777 /src/rt/rust_task_thread.cpp
parent9ec94f714ab4d7175451095dc7438e6a9ee2cc0c (diff)
downloadrust-14306756b4a4f5f83043e3c2f91169a151fd54f5.tar.gz
rust-14306756b4a4f5f83043e3c2f91169a151fd54f5.zip
rt: Always delete task stacks on the task thread
There's not a real race here, but it makes helgrind happy and is arguably
less prone to future errrors.
Diffstat (limited to 'src/rt/rust_task_thread.cpp')
-rw-r--r--src/rt/rust_task_thread.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/rt/rust_task_thread.cpp b/src/rt/rust_task_thread.cpp
index 39d9f283645..20166e261b9 100644
--- a/src/rt/rust_task_thread.cpp
+++ b/src/rt/rust_task_thread.cpp
@@ -144,6 +144,7 @@ rust_task_thread::reap_dead_tasks() {
         rust_task *task = dead_tasks_copy[i];
         // Release the task from the kernel so nobody else can get at it
         kernel->release_task_id(task->id);
+        task->delete_all_stacks();
         // Deref the task, which may cause it to request us to release it
         task->deref();
     }