diff options
author | Simon Marlow <simonmar@microsoft.com> | 2006-08-10 13:23:07 +0000 |
---|---|---|
committer | Simon Marlow <simonmar@microsoft.com> | 2006-08-10 13:23:07 +0000 |
commit | 45c35148be308b3290f1c14240d406f1cb1af166 (patch) | |
tree | c8a54b2ff89e32cbbb3e9bbf89a6efd1535906f7 /rts/Exception.cmm | |
parent | 69d5d3266dab36d9bfbe7da8ca9e077619516809 (diff) | |
download | haskell-45c35148be308b3290f1c14240d406f1cb1af166.tar.gz |
Control.Exception.unblock wasn't unblocking exceptions
Diffstat (limited to 'rts/Exception.cmm')
-rw-r--r-- | rts/Exception.cmm | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/rts/Exception.cmm b/rts/Exception.cmm index 8ca397b95e..0c1b6648d5 100644 --- a/rts/Exception.cmm +++ b/rts/Exception.cmm @@ -123,6 +123,9 @@ unblockAsyncExceptionszh_fast foreign "C" awakenBlockedExceptionQueue(MyCapability() "ptr", CurrentTSO "ptr") [R1]; + StgTSO_flags(CurrentTSO) = StgTSO_flags(CurrentTSO) & + ~(TSO_BLOCKEX::I32|TSO_INTERRUPTIBLE::I32); + /* avoid growing the stack unnecessarily */ if (Sp(0) == stg_unblockAsyncExceptionszh_ret_info) { Sp_adj(1); |