X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=rts%2FRaiseAsync.h;h=5137d41f5fdff401e7f5805ba23a448adb2ce90e;hp=96eb96e10b5529cdd19dce8a55ea874da34448b5;hb=7408b39235bccdcde48df2a73337ff976fbc09b7;hpb=9a9803e8dc80ba41bd3e2d31228e64fa6b61060e diff --git a/rts/RaiseAsync.h b/rts/RaiseAsync.h index 96eb96e..5137d41 100644 --- a/rts/RaiseAsync.h +++ b/rts/RaiseAsync.h @@ -29,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); @@ -52,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)