about summary refs log tree commit diff
path: root/src/rt/rust_task.cpp
diff options
context:
space:
mode:
authorBen Blum <bblum@andrew.cmu.edu>2012-07-12 19:52:27 -0400
committerBen Blum <bblum@andrew.cmu.edu>2012-07-13 20:13:53 -0400
commit62575d9c4a26eb2fa0bd1a1dbf1580633a886dce (patch)
treef141f61c105f65a58493cec70bd90cae5c454fa3 /src/rt/rust_task.cpp
parentaad184cc5737671c9c61c774ff4eb3908620857b (diff)
downloadrust-62575d9c4a26eb2fa0bd1a1dbf1580633a886dce.tar.gz
rust-62575d9c4a26eb2fa0bd1a1dbf1580633a886dce.zip
Reintroduce linked failure (rust_port locking)
This reverts commit a10f52c5793b358a16e3e98db4b16c65ba8e254b.
Diffstat (limited to 'src/rt/rust_task.cpp')
-rw-r--r--src/rt/rust_task.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/rt/rust_task.cpp b/src/rt/rust_task.cpp
index fa05a713745..3d88c05b3ff 100644
--- a/src/rt/rust_task.cpp
+++ b/src/rt/rust_task.cpp
@@ -243,7 +243,7 @@ rust_task::must_fail_from_being_killed_inner() {
 // Only run this on the rust stack
 void
 rust_task::yield(bool *killed) {
-    // FIXME (#2787): clean this up
+    // FIXME (#2875): clean this up
     if (must_fail_from_being_killed()) {
         {
             scoped_lock with(lifecycle_lock);
@@ -346,12 +346,11 @@ void rust_task::assert_is_running()
     assert(state == task_state_running);
 }
 
-// FIXME (#2851, #2787): This is only used by rust_port/rust_port selector,
-// and is inherently racy. Get rid of it.
+// FIXME (#2851) Remove this code when rust_port goes away?
 bool
 rust_task::blocked_on(rust_cond *on)
 {
-    scoped_lock with(lifecycle_lock);
+    lifecycle_lock.must_have_lock();
     return cond == on;
 }