From 586bc85538cf12048137c2693da7c9fe3ca481ef Mon Sep 17 00:00:00 2001 From: Edsko de Vries Date: Thu, 28 Nov 2013 16:38:26 +0000 Subject: Mask async exceptions in forkM_ See #8006 for the reason why. This is not a fix as such; more of a workaround. --- compiler/utils/IOEnv.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'compiler/utils/IOEnv.hs') diff --git a/compiler/utils/IOEnv.hs b/compiler/utils/IOEnv.hs index 04c11cf531..6885bbd127 100644 --- a/compiler/utils/IOEnv.hs +++ b/compiler/utils/IOEnv.hs @@ -22,7 +22,7 @@ module IOEnv ( -- Getting at the environment getEnv, setEnv, updEnv, - runIOEnv, unsafeInterleaveM, + runIOEnv, unsafeInterleaveM, uninterruptibleMaskM_, tryM, tryAllM, tryMostM, fixM, -- I/O operations @@ -149,6 +149,8 @@ tryMostM (IOEnv thing) = IOEnv (\ env -> tryMost (thing env)) unsafeInterleaveM :: IOEnv env a -> IOEnv env a unsafeInterleaveM (IOEnv m) = IOEnv (\ env -> unsafeInterleaveIO (m env)) +uninterruptibleMaskM_ :: IOEnv env a -> IOEnv env a +uninterruptibleMaskM_ (IOEnv m) = IOEnv (\ env -> uninterruptibleMask_ (m env)) ---------------------------------------------------------------------- -- Alternative/MonadPlus -- cgit v1.2.1