X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FCapability.h;h=5f1649edd1afd4123d0099ca8ca84e6db5a97842;hb=81d9bd68cd5bc763ef7d675d5263f210e7dca9c0;hp=21d4ce4c1e020eda7ece3325bb1c4ffea168a948;hpb=693550d93040439ac20d7ab3bfcaee8ca5b7e923;p=ghc-hetmet.git diff --git a/ghc/rts/Capability.h b/ghc/rts/Capability.h index 21d4ce4..5f1649e 100644 --- a/ghc/rts/Capability.h +++ b/ghc/rts/Capability.h @@ -23,6 +23,8 @@ #ifndef __CAPABILITY_H__ #define __CAPABILITY_H__ +#include "RtsFlags.h" + // All the capabilities extern Capability *capabilities; @@ -38,6 +40,10 @@ extern void releaseCapability( Capability* cap ); // extern void threadRunnable ( void ); +// Return the capability that I own. +// +extern Capability *myCapability (void); + extern void prodWorker ( void ); #ifdef RTS_SUPPORTS_THREADS @@ -53,7 +59,7 @@ extern void prodWorker ( void ); // current worker thread should then re-acquire it using // waitForCapability(). // -extern void yieldCapability( Capability **pCap ); +extern void yieldCapability( Capability** pCap, Condition *cond ); // Acquires a capability for doing some work. //