X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=rts%2FSchedule.c;h=cc5cbb476fe934dfe450f479d34ec8899271d60d;hp=2e9d0dda773ec1c3f432815c047f9ae16d7e8497;hb=bd6fe3a37cefc235c5abf08557635031678d65e4;hpb=a4326c0e87499dd633c55625f325244b1caf337a diff --git a/rts/Schedule.c b/rts/Schedule.c index 2e9d0dd..cc5cbb4 100644 --- a/rts/Schedule.c +++ b/rts/Schedule.c @@ -399,6 +399,7 @@ schedule (Capability *initialCapability, Task *task) // ASSERT_FULL_CAPABILITY_INVARIANTS(cap,task); } + yield: scheduleYield(&cap,task); if (emptyRunQueue(cap)) continue; // look for work again #endif @@ -565,7 +566,7 @@ run_thread: debugTrace(DEBUG_sched, "--<< thread %lu (%s) stopped: blocked", (unsigned long)t->id, whatNext_strs[t->what_next]); - continue; + goto yield; } #endif