packages feed

prim-0.1.0.0: src/Exception/Mask.hs

{-# language PatternSynonyms #-}
module Exception.Mask where
import Prelude hiding (State#)

async :: IO a -> IO a
async = maskAsyncExceptions#

uninterruptible :: IO a -> IO a
uninterruptible = maskUninterruptible#

state :: IO State#
state = getMaskingState#

type State# = I64

pattern Unmasked :: State#
pattern Unmasked = 0#
pattern Uninterruptible :: State#
pattern Uninterruptible = 1#
pattern Interruptible :: State#
pattern Interruptible = 2#