diff options
author | Edsko de Vries <edsko@well-typed.com> | 2013-11-28 16:38:26 +0000 |
---|---|---|
committer | Edsko de Vries <edsko@well-typed.com> | 2013-12-03 16:17:52 +0000 |
commit | 586bc85538cf12048137c2693da7c9fe3ca481ef (patch) | |
tree | ebf4a72650ce03354817a17af9893c3cf800a3bd /compiler/utils/IOEnv.hs | |
parent | 4025d66cc795b728f745aec23fc5c2267d1839f0 (diff) | |
download | haskell-586bc85538cf12048137c2693da7c9fe3ca481ef.tar.gz |
Mask async exceptions in forkM_
See #8006 for the reason why. This is not a fix as such; more of a workaround.
Diffstat (limited to 'compiler/utils/IOEnv.hs')
-rw-r--r-- | compiler/utils/IOEnv.hs | 4 |
1 files changed, 3 insertions, 1 deletions
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 |