X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FSchedule.c;h=998d8465a7963df1e89444713be37cd6f4c65651;hb=e5959748501564df4a266cbf4df94cb28327f76d;hp=167cac1eab8bac83565d28b2ed2f12b03230c8ed;hpb=d46df548da44cff511cd0d656a1ec92c4551d653;p=ghc-hetmet.git diff --git a/rts/Schedule.c b/rts/Schedule.c index 167cac1..998d846 100644 --- a/rts/Schedule.c +++ b/rts/Schedule.c @@ -1454,6 +1454,12 @@ scheduleDoGC (Capability *cap, Task *task USED_IF_THREADS, rtsBool force_major) // GC thread each. waitForGcThreads(cap); } + +#else /* !THREADED_RTS */ + + // do this while the other Capabilities stop: + if (cap) scheduleCheckBlackHoles(cap); + #endif IF_DEBUG(scheduler, printAllThreads()); @@ -1677,6 +1683,10 @@ forkProcess(HsStablePtr *entry initTimer(); startTimer(); +#if defined(THREADED_RTS) + cap = ioManagerStartCap(cap); +#endif + cap = rts_evalStableIO(cap, entry, NULL); // run the action rts_checkSchedStatus("forkProcess",cap);