unix-effectful
Safe HaskellNone
LanguageGHC2021

Effectful.Posix.Signals.Dynamic

Description

Provides a dynamic effect for System.Posix.Signals.

Since: 0.1

Synopsis

Effect

data PosixSignals (a :: Type -> Type) b where Source #

Dynamic effect for System.Posix.Files.

Since: 0.1

Constructors

RaiseSignal :: forall (a :: Type -> Type). Signal -> PosixSignals a () 
SignalProcess :: forall (a :: Type -> Type). Signal -> ProcessID -> PosixSignals a () 
SignalProcessGroup :: forall (a :: Type -> Type). Signal -> ProcessGroupID -> PosixSignals a () 
InstallHandler :: forall (a :: Type -> Type). Signal -> Handler a -> Maybe SignalSet -> PosixSignals a (Handler a) 
GetSignalMask :: forall (a :: Type -> Type). PosixSignals a SignalSet 
SetSignalMask :: forall (a :: Type -> Type). SignalSet -> PosixSignals a () 
BlockSignals :: forall (a :: Type -> Type). SignalSet -> PosixSignals a () 
UnblockSignals :: forall (a :: Type -> Type). SignalSet -> PosixSignals a () 
ScheduleAlarm :: forall (a :: Type -> Type). Int -> PosixSignals a Int 
GetPendingSignals :: forall (a :: Type -> Type). PosixSignals a SignalSet 
AwaitSignal :: forall (a :: Type -> Type). Maybe SignalSet -> PosixSignals a () 
SetStoppedChildFlag :: forall (a :: Type -> Type). Bool -> PosixSignals a Bool 
QueryStoppedChildFlag :: forall (a :: Type -> Type). PosixSignals a Bool 

Instances

Instances details
ShowEffect PosixSignals Source #

Since: 0.1

Instance details

Defined in Effectful.Posix.Signals.Dynamic

Methods

showEffectCons :: forall (m :: Type -> Type) a. PosixSignals m a -> String Source #

type DispatchOf PosixSignals Source #

Since: 0.1

Instance details

Defined in Effectful.Posix.Signals.Dynamic

raiseSignal Source #

Arguments

:: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) 
=> Signal

.

-> Eff es () 

Lifted raiseSignal.

Since: 0.1

signalProcess Source #

Arguments

:: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) 
=> Signal

.

-> ProcessID 
-> Eff es () 

Lifted signalProcess.

Since: 0.1

signalProcessGroup Source #

Arguments

:: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) 
=> Signal

.

-> ProcessGroupID 
-> Eff es () 

Lifted signalProcessGroup.

Since: 0.1

installHandler Source #

Arguments

:: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) 
=> Signal

.

-> Handler (Eff es) 
-> Maybe SignalSet 
-> Eff es (Handler (Eff es)) 

Lifted installHandler.

Since: 0.1

getSignalMask Source #

Arguments

:: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) 
=> Eff es SignalSet

.

Lifted getSignalMask.

Since: 0.1

setSignalMask :: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) => SignalSet -> Eff es () Source #

Lifted setSignalMask.

Since: 0.1

blockSignals Source #

Arguments

:: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) 
=> SignalSet

.

-> Eff es () 

Lifted blockSignals.

Since: 0.1

unblockSignals Source #

Arguments

:: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) 
=> SignalSet

.

-> Eff es () 

Lifted unblockSignals.

Since: 0.1

scheduleAlarm Source #

Arguments

:: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) 
=> Int

.

-> Eff es Int 

Lifted scheduleAlarm.

Since: 0.1

getPendingSignals Source #

Arguments

:: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) 
=> Eff es SignalSet

.

Lifted getPendingSignals.

Since: 0.1

awaitSignal Source #

Arguments

:: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) 
=> Maybe SignalSet

.

-> Eff es () 

Lifted awaitSignal.

Since: 0.1

setStoppedChildFlag Source #

Arguments

:: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) 
=> Bool

.

-> Eff es Bool 

Lifted setStoppedChildFlag.

Since: 0.1

queryStoppedChildFlag Source #

Arguments

:: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) 
=> Eff es Bool

.

Lifted queryStoppedChildFlag.

Since: 0.1

Handler

runPosixSignals Source #

Arguments

:: forall (es :: [Effect]) a. (HasCallStack, IOE :> es) 
=> Eff (PosixSignals ': es) a

.

-> Eff es a 

Runs PosixSignals in IO.

Since: 0.1

Posix Handler

data Handler (m :: Type -> Type) Source #

Since: 0.1

Constructors

Default 
Ignore 
Catch (m ()) 
CatchOnce (m ()) 
CatchInfo (SignalInfo -> m ()) 
CatchInfoOnce (SignalInfo -> m ()) 

mapHandler :: (forall x. m x -> n x) -> Handler m -> Handler n Source #

Since: 0.1

type PosixHandler = Handler Source #

Alias for unix's Handler.

Since: 0.1

mapHandlerToPosix :: (forall x. m x -> IO x) -> Handler m -> PosixHandler Source #

Since: 0.1

mapHandlerFromPosix :: (forall x. IO x -> n x) -> PosixHandler -> Handler n Source #

Since: 0.1

Re-exports

type Signal = CInt #