module Sound.Sox.System where
import qualified System.Posix.Signals as Signals
import Control.Exception (bracket, )
catchCtrlC :: IO ()
catchCtrlC :: IO ()
catchCtrlC =
Signal -> Handler -> Maybe SignalSet -> IO Handler
Signals.installHandler Signal
Signals.sigPIPE
Handler
Signals.Ignore forall a. Maybe a
Nothing
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> forall (m :: * -> *) a. Monad m => a -> m a
return ()
ignoreCtrlC :: IO a -> IO a
ignoreCtrlC :: forall a. IO a -> IO a
ignoreCtrlC IO a
act =
forall a b c. IO a -> (a -> IO b) -> (a -> IO c) -> IO c
bracket
(Signal -> Handler -> Maybe SignalSet -> IO Handler
Signals.installHandler Signal
Signals.sigPIPE Handler
Signals.Ignore forall a. Maybe a
Nothing)
(\Handler
handler ->
Signal -> Handler -> Maybe SignalSet -> IO Handler
Signals.installHandler Signal
Signals.sigPIPE Handler
handler forall a. Maybe a
Nothing)
(forall a b. a -> b -> a
const IO a
act)