update submodules for GHC.HetMet.GArrow -> Control.GArrow renaming
[ghc-hetmet.git] / rts / Messages.h
1 /* ---------------------------------------------------------------------------
2  *
3  * (c) The GHC Team, 2010
4  *
5  * Inter-Capability message passing
6  *
7  * --------------------------------------------------------------------------*/
8
9 #include "BeginPrivate.h"
10
11 nat messageBlackHole(Capability *cap, MessageBlackHole *msg);
12 StgTSO * blackHoleOwner (StgClosure *bh);
13
14 #ifdef THREADED_RTS
15 void executeMessage (Capability *cap, Message *m);
16 void sendMessage    (Capability *from_cap, Capability *to_cap, Message *msg);
17 #endif
18
19 #include "Capability.h"
20 #include "Updates.h" // for DEBUG_FILL_SLOP
21
22 INLINE_HEADER void
23 doneWithMsgThrowTo (MessageThrowTo *m)
24 {
25     OVERWRITING_CLOSURE((StgClosure*)m);
26     unlockClosure((StgClosure*)m, &stg_MSG_NULL_info);
27     LDV_RECORD_CREATE(m);
28 }
29
30 #include "EndPrivate.h"