summaryrefslogtreecommitdiff
path: root/rts/Exception.cmm
diff options
context:
space:
mode:
authorSimon Marlow <simonmar@microsoft.com>2006-08-10 13:23:07 +0000
committerSimon Marlow <simonmar@microsoft.com>2006-08-10 13:23:07 +0000
commit45c35148be308b3290f1c14240d406f1cb1af166 (patch)
treec8a54b2ff89e32cbbb3e9bbf89a6efd1535906f7 /rts/Exception.cmm
parent69d5d3266dab36d9bfbe7da8ca9e077619516809 (diff)
downloadhaskell-45c35148be308b3290f1c14240d406f1cb1af166.tar.gz
Control.Exception.unblock wasn't unblocking exceptions
Diffstat (limited to 'rts/Exception.cmm')
-rw-r--r--rts/Exception.cmm3
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);