From 73fd87baf50da704b04837fe059ed4fcad0f4660 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Wed, 29 Dec 2010 00:33:52 -0500 Subject: Don't attempt to wake tasks that aren't blocked. It's possible for a supervised task to kill and wake its supervising task then immediately try to wake it again if the supervising task has joined the supervised. This is the easiest way to prevent that. --- src/rt/rust_task.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/rt/rust_task.cpp') diff --git a/src/rt/rust_task.cpp b/src/rt/rust_task.cpp index 680043cc35b..1522fcccb1c 100644 --- a/src/rt/rust_task.cpp +++ b/src/rt/rust_task.cpp @@ -420,7 +420,7 @@ rust_task::notify_tasks_waiting_to_join() { delete waiting_task; } else { rust_task *task = waiting_task->referent(); - if (task->dead() == false) { + if (task->blocked() == true) { task->wakeup(this); } } -- cgit 1.4.1-3-g733a5