1 /* ---------------------------------------------------------------------------
3 * (c) The GHC Team, 2006
5 * Thread-related functionality
7 * --------------------------------------------------------------------------*/
12 StgTSO * unblockOne (Capability *cap, StgTSO *tso);
13 StgTSO * unblockOne_ (Capability *cap, StgTSO *tso, rtsBool allow_migrate);
15 void awakenBlockedQueue (Capability *cap, StgTSO *tso);
17 void removeThreadFromMVarQueue (Capability *cap, StgMVar *mvar, StgTSO *tso);
18 void removeThreadFromQueue (Capability *cap, StgTSO **queue, StgTSO *tso);
19 void removeThreadFromDeQueue (Capability *cap, StgTSO **head, StgTSO **tail, StgTSO *tso);
21 StgBool isThreadBound (StgTSO* tso);
24 void printThreadBlockage (StgTSO *tso);
25 void printThreadStatus (StgTSO *t);
26 void printAllThreads (void);
27 void printThreadQueue (StgTSO *t);
28 # if defined(PARALLEL_HASKELL)
29 void print_bq (StgClosure *node);
30 void print_bqe (StgBlockingQueueElement *bqe);
31 nat run_queue_len (void);
33 void print_bq (StgClosure *node);
37 #endif /* THREADS_H */