summaryrefslogtreecommitdiff
path: root/rts/Prelude.h
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2010-07-08 14:48:51 +0000
committerSimon Marlow <marlowsd@gmail.com>2010-07-08 14:48:51 +0000
commitad3b79d22b32760f25bf10069bd2957462be959d (patch)
tree4ec55082b2fea66458d346e4c6540649d5e4c1f8 /rts/Prelude.h
parentcc94b30f3d854ed97ac6a7a54fa12247295219d4 (diff)
downloadhaskell-ad3b79d22b32760f25bf10069bd2957462be959d.tar.gz
New asynchronous exception control API (ghc parts)
As discussed on the libraries/haskell-cafe mailing lists http://www.haskell.org/pipermail/libraries/2010-April/013420.html This is a replacement for block/unblock in the asychronous exceptions API to fix a problem whereby a function could unblock asynchronous exceptions even if called within a blocked context. The new terminology is "mask" rather than "block" (to avoid confusion due to overloaded meanings of the latter). In GHC, we changed the names of some primops: blockAsyncExceptions# -> maskAsyncExceptions# unblockAsyncExceptions# -> unmaskAsyncExceptions# asyncExceptionsBlocked# -> getMaskingState# and added one new primop: maskUninterruptible# See the accompanying patch to libraries/base for the API changes.
Diffstat (limited to 'rts/Prelude.h')
-rw-r--r--rts/Prelude.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/rts/Prelude.h b/rts/Prelude.h
index cbe7e3ec00..ba7cb14983 100644
--- a/rts/Prelude.h
+++ b/rts/Prelude.h
@@ -37,6 +37,7 @@ extern StgClosure ZCMain_main_closure;
PRELUDE_CLOSURE(base_GHCziIOziException_stackOverflow_closure);
PRELUDE_CLOSURE(base_GHCziIOziException_heapOverflow_closure);
+PRELUDE_CLOSURE(base_GHCziIOziException_blockedIndefinitelyOnThrowTo_closure);
PRELUDE_CLOSURE(base_GHCziIOziException_blockedIndefinitelyOnMVar_closure);
PRELUDE_CLOSURE(base_GHCziIOziException_blockedIndefinitelyOnSTM_closure);
PRELUDE_CLOSURE(base_ControlziExceptionziBase_nonTermination_closure);