update submodules for GHC.HetMet.GArrow -> Control.GArrow renaming
[ghc-hetmet.git] / rts / RaiseAsync.h
index 52a0aa4..336ab30 100644 (file)
@@ -9,12 +9,13 @@
 #ifndef RAISEASYNC_H
 #define RAISEASYNC_H
 
-#pragma GCC visibility push(hidden)
-
 #define THROWTO_SUCCESS   0
 #define THROWTO_BLOCKED   1
 
 #ifndef CMINUSMINUS
+
+#include "BeginPrivate.h"
+
 void throwToSingleThreaded (Capability *cap,
                            StgTSO *tso,
                            StgClosure *exception);
@@ -28,16 +29,13 @@ void suspendComputation (Capability *cap,
                         StgTSO *tso, 
                         StgUpdateFrame *stop_here);
 
-nat throwTo (Capability *cap,           // the Capability we hold 
-            StgTSO *source,             // the TSO sending the exception
-            StgTSO *target,             // the TSO receiving the exception
-            StgClosure *exception,      // the exception closure
-            /*[out]*/ void **out   // pass to throwToReleaseTarget()
-    );
+MessageThrowTo *throwTo (Capability *cap,      // the Capability we hold 
+                         StgTSO *source,
+                         StgTSO *target,
+                         StgClosure *exception); // the exception closure
 
-#ifdef THREADED_RTS
-void throwToReleaseTarget (void *tso);
-#endif
+nat throwToMsg (Capability *cap,
+                MessageThrowTo *msg);
 
 int  maybePerformBlockedException (Capability *cap, StgTSO *tso);
 void awakenBlockedExceptionQueue  (Capability *cap, StgTSO *tso);
@@ -51,7 +49,7 @@ interruptible(StgTSO *t)
 {
   switch (t->why_blocked) {
   case BlockedOnMVar:
-  case BlockedOnException:
+  case BlockedOnMsgThrowTo:
   case BlockedOnRead:
   case BlockedOnWrite:
 #if defined(mingw32_HOST_OS)
@@ -66,9 +64,9 @@ interruptible(StgTSO *t)
   }
 }
 
-#endif /* CMINUSMINUS */
+#include "EndPrivate.h"
 
-#pragma GCC visibility pop
+#endif /* CMINUSMINUS */
 
 #endif /* RAISEASYNC_H */