From a233641531c30f3ae5839a02d60e342fd2c87e58 Mon Sep 17 00:00:00 2001 From: Simon Marlow Date: Mon, 9 Feb 2009 11:25:36 +0000 Subject: [PATCH] scheduleYield(): check the wakeup queue before yielding --- rts/Schedule.c | 1 + 1 file changed, 1 insertion(+) diff --git a/rts/Schedule.c b/rts/Schedule.c index 978adb8..6c46c09 100644 --- a/rts/Schedule.c +++ b/rts/Schedule.c @@ -744,6 +744,7 @@ scheduleYield (Capability **pcap, Task *task) // if we have work, and we don't need to give up the Capability, continue. if (!shouldYieldCapability(cap,task) && (!emptyRunQueue(cap) || + !emptyWakeupQueue(cap) || blackholes_need_checking || sched_state >= SCHED_INTERRUPTING)) return; -- 1.7.10.4