---------------------------------------------------------------------- -- | -- Module : GF.System.NoSignal -- Maintainer : Bjorn Bringert -- Stability : (stability) -- Portability : (portability) -- -- > CVS $Date: 2005/11/11 11:12:50 $ -- > CVS $Author: bringert $ -- > CVS $Revision: 1.1 $ -- -- Dummy implementation of signal handling. -----------------------------------------------------------------------------
module GF.System.NoSignal where
import Control.Exception (Exception,catch)
import Prelude hiding (catch)
{-# NOINLINE runInterruptibly #-}
runInterruptibly :: IO a -> IO (Either Exception a)
--runInterruptibly = fmap Right
runInterruptibly a =
p `catch` h
where p = a >>= \x -> return $! Right $! x
h e = return $ Left e
blockInterrupt :: IO a -> IO a
blockInterrupt = id