Reorganisation to fix problems related to the gct register variable
[ghc-hetmet.git] / rts / Capability.h
index dd17863..71c0ff6 100644 (file)
@@ -217,7 +217,7 @@ void prodAllCapabilities (void);
 // Waits for a capability to drain of runnable threads and workers,
 // and then acquires it.  Used at shutdown time.
 //
-void shutdownCapability (Capability *cap, Task *task);
+void shutdownCapability (Capability *cap, Task *task, rtsBool wait_foreign);
 
 // Attempt to gain control of a Capability if it is free.
 //
@@ -232,6 +232,13 @@ extern void grabCapability (Capability **pCap);
 
 #endif /* !THREADED_RTS */
 
+// 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);
+
 /* -----------------------------------------------------------------------------
  * INLINE functions... private below here
  * -------------------------------------------------------------------------- */