From: simonmar Date: Thu, 26 Feb 2004 16:31:44 +0000 (+0000) Subject: [project @ 2004-02-26 16:31:44 by simonmar] X-Git-Tag: Approx_11550_changesets_converted~49 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=7452ddfa24aa565b4a0d3408f9da1f12ad1ef3ad;p=ghc-hetmet.git [project @ 2004-02-26 16:31:44 by simonmar] Avoid signalling thread_ready_cond if rts_n_waiting_tasks==0. --- diff --git a/ghc/rts/Capability.c b/ghc/rts/Capability.c index 18ef4df..c99cf05 100644 --- a/ghc/rts/Capability.c +++ b/ghc/rts/Capability.c @@ -206,7 +206,9 @@ releaseCapability( Capability* cap UNUSED_IF_NOT_SMP ) rts_n_free_capabilities = 1; #endif // Signal that a capability is available - signalCondition(&thread_ready_cond); + if (rts_n_waiting_tasks > 0) { + signalCondition(&thread_ready_cond); + } startSchedulerTaskIfNecessary(); IF_DEBUG(scheduler, sched_belch("worker: released capability")); }