X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=rts%2FException.cmm;h=5f6bd0703df0b2e2e521e640be937b6b99531a88;hb=1fb4c716c901f08b185439521f91f8cf552797c3;hp=ec5673804010406340afe0f078e1fb2f68f215e1;hpb=26b80e2f7ae773c33067b7f259e2b83bfb08d6b6;p=ghc-hetmet.git diff --git a/rts/Exception.cmm b/rts/Exception.cmm index ec56738..5f6bd07 100644 --- a/rts/Exception.cmm +++ b/rts/Exception.cmm @@ -43,10 +43,7 @@ unsafePerformIO thunk will be updated with a stack object containing the unblockAsyncExceptions_ret frame. Later, when someone else evaluates this thunk, the blocked exception state is - not restored, and the result is that unblockAsyncExceptions_ret - will attempt to unblock exceptions in the current thread, but it'll - find that the CurrentTSO->blocked_exceptions is NULL. Hence, we - work around this by checking for NULL in awakenBlockedQueue(). + not restored. -------------------------------------------------------------------------- */ @@ -55,9 +52,6 @@ INFO_TABLE_RET( stg_unblockAsyncExceptionszh_ret, { CInt r; - // Not true: see comments above - // ASSERT(StgTSO_blocked_exceptions(CurrentTSO) != NULL); - StgTSO_flags(CurrentTSO) = StgTSO_flags(CurrentTSO) & ~(TSO_BLOCKEX::I32|TSO_INTERRUPTIBLE::I32); @@ -115,9 +109,6 @@ INFO_TABLE_RET( stg_unblockAsyncExceptionszh_ret, INFO_TABLE_RET( stg_blockAsyncExceptionszh_ret, 0/*framesize*/, 0/*bitmap*/, RET_SMALL ) { - // Not true: see comments above - // ASSERT(StgTSO_blocked_exceptions(CurrentTSO) == NULL); - StgTSO_flags(CurrentTSO) = StgTSO_flags(CurrentTSO) | TSO_BLOCKEX::I32 | TSO_INTERRUPTIBLE::I32;