about summary refs log tree commit diff
path: root/src/rt/rust_task.cpp
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2012-03-02 22:37:59 -0800
committerBrian Anderson <banderson@mozilla.com>2012-03-05 19:39:55 -0800
commit0432030c2727183f3cbda0263de2ca2b90c37353 (patch)
treebffe141f4b6de2bfdbedab88c5623a82cb4dc7d0 /src/rt/rust_task.cpp
parent43f9f4d54ab7a0b61bce06e017c715e2f4cc85de (diff)
downloadrust-0432030c2727183f3cbda0263de2ca2b90c37353.tar.gz
rust-0432030c2727183f3cbda0263de2ca2b90c37353.zip
rt: Don't take the task lock on state transitions
Diffstat (limited to 'src/rt/rust_task.cpp')
-rw-r--r--src/rt/rust_task.cpp6
1 files changed, 0 insertions, 6 deletions
diff --git a/src/rt/rust_task.cpp b/src/rt/rust_task.cpp
index dd0ae7846bc..7b5b528782b 100644
--- a/src/rt/rust_task.cpp
+++ b/src/rt/rust_task.cpp
@@ -421,8 +421,6 @@ rust_task::transition(rust_task_list *src, rust_task_list *dst) {
 
 void
 rust_task::block(rust_cond *on, const char* name) {
-    I(thread, !lock.lock_held_by_current_thread());
-    scoped_lock with(lock);
     LOG(this, task, "Blocking on 0x%" PRIxPTR ", cond: 0x%" PRIxPTR,
                          (uintptr_t) on, (uintptr_t) cond);
     A(thread, cond == NULL, "Cannot block an already blocked task.");
@@ -435,8 +433,6 @@ rust_task::block(rust_cond *on, const char* name) {
 
 void
 rust_task::wakeup(rust_cond *from) {
-    I(thread, !lock.lock_held_by_current_thread());
-    scoped_lock with(lock);
     A(thread, cond != NULL, "Cannot wake up unblocked task.");
     LOG(this, task, "Blocked on 0x%" PRIxPTR " woken up on 0x%" PRIxPTR,
                         (uintptr_t) cond, (uintptr_t) from);
@@ -449,8 +445,6 @@ rust_task::wakeup(rust_cond *from) {
 
 void
 rust_task::die() {
-    I(thread, !lock.lock_held_by_current_thread());
-    scoped_lock with(lock);
     transition(&thread->running_tasks, &thread->dead_tasks);
 }