X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FCapability.c;h=c37ec4e0ad0b41abf74dc4d00fbdb92d46ccb8bf;hb=90686adf9d3dc7a09a51853df051bc4ea472d840;hp=bd781e9cd7b4f9740655bd90a5861728f008c98a;hpb=015d3d46b6de2f95386a515a7d166d996a0416db;p=ghc-hetmet.git diff --git a/rts/Capability.c b/rts/Capability.c index bd781e9..c37ec4e 100644 --- a/rts/Capability.c +++ b/rts/Capability.c @@ -394,7 +394,10 @@ releaseCapability_ (Capability* cap, // give this Capability to the appropriate Task. if (!emptyRunQueue(cap) && cap->run_queue_hd->bound) { // Make sure we're not about to try to wake ourselves up - ASSERT(task != cap->run_queue_hd->bound); + // ASSERT(task != cap->run_queue_hd->bound); + // assertion is false: in schedule() we force a yield after + // ThreadBlocked, but the thread may be back on the run queue + // by now. task = cap->run_queue_hd->bound; giveCapabilityToTask(cap,task); return;