X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=rts%2FCapability.h;h=c50fe7ffab41ef1bcad2412c33d92f3d3e183a5f;hp=641f37db01f853f2f039c5bd2fe81dcd6cdb1d7b;hb=b0ca990457eaf7991e72b13d0040d937b5759b36;hpb=b1953bbb1ed3cb16497e5447db7487f0c2d9e41a diff --git a/rts/Capability.h b/rts/Capability.h index 641f37d..c50fe7f 100644 --- a/rts/Capability.h +++ b/rts/Capability.h @@ -89,7 +89,8 @@ struct Capability_ { #endif // Per-capability STM-related data - StgTVarWaitQueue *free_tvar_wait_queues; + StgTVarWatchQueue *free_tvar_watch_queues; + StgInvariantCheckQueue *free_invariant_check_queues; StgTRecChunk *free_trec_chunks; StgTRecHeader *free_trec_headers; nat transaction_tokens; @@ -216,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. // @@ -231,6 +232,9 @@ extern void grabCapability (Capability **pCap); #endif /* !THREADED_RTS */ +// Free a capability on exit +void freeCapability (Capability *cap); + /* ----------------------------------------------------------------------------- * INLINE functions... private below here * -------------------------------------------------------------------------- */