about summary refs log tree commit diff
path: root/src/rt/rust_task.cpp
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2011-09-14 17:05:35 -0700
committerBrian Anderson <banderson@mozilla.com>2011-09-14 17:05:35 -0700
commita0ad9a42cdfa42d9c4bb51bcc67b9a6bff3b05f4 (patch)
tree67c30da6764b3e9c7dfe53f15e7116355952733b /src/rt/rust_task.cpp
parent69eda46af880847f8edc194da9c69974e1e746ef (diff)
downloadrust-a0ad9a42cdfa42d9c4bb51bcc67b9a6bff3b05f4.tar.gz
rust-a0ad9a42cdfa42d9c4bb51bcc67b9a6bff3b05f4.zip
Unsupervise tasks before the scheduler kills them. Unblock before yield->fail
Diffstat (limited to 'src/rt/rust_task.cpp')
-rw-r--r--src/rt/rust_task.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/rt/rust_task.cpp b/src/rt/rust_task.cpp
index bb31e4340a5..ffa9e5b7e99 100644
--- a/src/rt/rust_task.cpp
+++ b/src/rt/rust_task.cpp
@@ -255,6 +255,9 @@ rust_task::yield(size_t time_in_us) {
         name, this, time_in_us);
 
     if (killed) {
+        if (blocked()) {
+            unblock();
+        }
         killed = false;
         fail();
     }