From abdb6cd71bdd5b66d42ddfc517c9adf318b17c9f Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Sat, 20 Aug 2011 16:05:18 -0700 Subject: Rewrite reap_dead_tasks to never grab the sched lock before a task lock Doing so contradicts the locking order used everywhere else and causes deadlocks. Un-XFAIL task-perf-spawnalot Closes #854 --- src/rt/rust_task.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'src/rt/rust_task.cpp') diff --git a/src/rt/rust_task.cpp b/src/rt/rust_task.cpp index bd8fe5c38e8..4ce6e44879b 100644 --- a/src/rt/rust_task.cpp +++ b/src/rt/rust_task.cpp @@ -90,6 +90,7 @@ rust_task::rust_task(rust_scheduler *sched, rust_task_list *state, rust_task::~rust_task() { + I(sched, !sched->lock.lock_held_by_current_thread()); DLOG(sched, task, "~rust_task %s @0x%" PRIxPTR ", refcnt=%d", name, (uintptr_t)this, ref_count); -- cgit 1.4.1-3-g733a5