From a10f52c5793b358a16e3e98db4b16c65ba8e254b Mon Sep 17 00:00:00 2001 From: Ben Blum Date: Thu, 12 Jul 2012 19:43:22 -0400 Subject: Revert linked failure (rust_port locking) This reverts commit 343e9de8ef4ee9727f027c896ce99f09611b9603. --- src/rt/rust_task.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/rt/rust_task.cpp') diff --git a/src/rt/rust_task.cpp b/src/rt/rust_task.cpp index 3d88c05b3ff..fa05a713745 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 (#2875): clean this up + // FIXME (#2787): clean this up if (must_fail_from_being_killed()) { { scoped_lock with(lifecycle_lock); @@ -346,11 +346,12 @@ void rust_task::assert_is_running() assert(state == task_state_running); } -// FIXME (#2851) Remove this code when rust_port goes away? +// FIXME (#2851, #2787): This is only used by rust_port/rust_port selector, +// and is inherently racy. Get rid of it. bool rust_task::blocked_on(rust_cond *on) { - lifecycle_lock.must_have_lock(); + scoped_lock with(lifecycle_lock); return cond == on; } -- cgit 1.4.1-3-g733a5