X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FCapability.h;h=71c0ff6c1a3b25757177f183df8645583710ce83;hb=f86e7206ea94b48b94fb61007a1c5d55b8c60f45;hp=dd17863c604c3b759ef961163dca4a6adf703e66;hpb=9cef40bd4dd2536c7a370a1a9b78461c152805cc;p=ghc-hetmet.git diff --git a/rts/Capability.h b/rts/Capability.h index dd17863..71c0ff6 100644 --- a/rts/Capability.h +++ b/rts/Capability.h @@ -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 * -------------------------------------------------------------------------- */