X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FThreads.h;h=bf16dcdce36b08d9c55533d95f1886c12025f6b8;hb=0a4162ac3cda41ef43b0e1ece4b6042327b8556c;hp=000cf1b8e2010abfc4978e3a36c5ebc513d633a2;hpb=5d52d9b64c21dcf77849866584744722f8121389;p=ghc-hetmet.git diff --git a/rts/Threads.h b/rts/Threads.h index 000cf1b..bf16dcd 100644 --- a/rts/Threads.h +++ b/rts/Threads.h @@ -19,6 +19,10 @@ StgTSO * unblockOne_ (Capability *cap, StgTSO *tso, rtsBool allow_migrate); void checkBlockingQueues (Capability *cap, StgTSO *tso); void wakeBlockingQueue (Capability *cap, StgBlockingQueue *bq); void tryWakeupThread (Capability *cap, StgTSO *tso); +void migrateThread (Capability *from, StgTSO *tso, Capability *to); + +// like tryWakeupThread(), but assumes the TSO is not ThreadRelocated +void tryWakeupThread_ (Capability *cap, StgTSO *tso); // Wakes up a thread on a Capability (probably a different Capability // from the one held by the current Task). @@ -32,8 +36,6 @@ void wakeupThreadOnCapability (Capability *cap, void updateThunk (Capability *cap, StgTSO *tso, StgClosure *thunk, StgClosure *val); -void removeThreadFromMVarQueue (Capability *cap, StgMVar *mvar, StgTSO *tso); - rtsBool removeThreadFromQueue (Capability *cap, StgTSO **queue, StgTSO *tso); rtsBool removeThreadFromDeQueue (Capability *cap, StgTSO **head, StgTSO **tail, StgTSO *tso);