The rest of the #1185 patch (forkProcess and -threaded)
[ghc-hetmet.git] / rts / Schedule.c
index 167cac1..998d846 100644 (file)
@@ -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);