Capability stopping when waiting for GC
[ghc-hetmet.git] / rts / Capability.h
index c50fe7f..f13afe2 100644 (file)
@@ -162,6 +162,9 @@ extern Capability *capabilities;
 //
 extern Capability *last_free_capability;
 
+// GC indicator, in scope for the scheduler
+extern volatile StgWord waiting_for_gc;
+
 // Acquires a capability at a return point.  If *cap is non-NULL, then
 // this is taken as a preference for the Capability we wish to
 // acquire.
@@ -235,6 +238,11 @@ extern void grabCapability (Capability **pCap);
 // Free a capability on exit
 void freeCapability (Capability *cap);
 
+// FOr the GC:
+void markSomeCapabilities (evac_fn evac, void *user, nat i0, nat delta);
+void markCapabilities (evac_fn evac, void *user);
+void traverseSparkQueues (evac_fn evac, void *user);
+
 /* -----------------------------------------------------------------------------
  * INLINE functions... private below here
  * -------------------------------------------------------------------------- */