projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Allow reification of existentials and GADTs
[ghc-hetmet.git]
/
rts
/
Threads.h
diff --git
a/rts/Threads.h
b/rts/Threads.h
index
000cf1b
..
776dd93
100644
(file)
--- a/
rts/Threads.h
+++ b/
rts/Threads.h
@@
-9,7
+9,7
@@
#ifndef THREADS_H
#define THREADS_H
#ifndef THREADS_H
#define THREADS_H
-BEGIN_RTS_PRIVATE
+#include "BeginPrivate.h"
#define END_BLOCKED_EXCEPTIONS_QUEUE ((MessageThrowTo*)END_TSO_QUEUE)
#define END_BLOCKED_EXCEPTIONS_QUEUE ((MessageThrowTo*)END_TSO_QUEUE)
@@
-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 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).
// 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 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);
rtsBool removeThreadFromQueue (Capability *cap, StgTSO **queue, StgTSO *tso);
rtsBool removeThreadFromDeQueue (Capability *cap, StgTSO **head, StgTSO **tail, StgTSO *tso);
@@
-46,6
+48,6
@@
void printAllThreads (void);
void printThreadQueue (StgTSO *t);
#endif
void printThreadQueue (StgTSO *t);
#endif
-END_RTS_PRIVATE
+#include "EndPrivate.h"
#endif /* THREADS_H */
#endif /* THREADS_H */