| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Effectful.Posix.Signals.Dynamic
Description
Provides a dynamic effect for System.Posix.Signals.
Since: 0.1
Synopsis
- data PosixSignals (a :: Type -> Type) b where
- 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
- raiseSignal :: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) => Signal -> Eff es ()
- signalProcess :: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) => Signal -> ProcessID -> Eff es ()
- signalProcessGroup :: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) => Signal -> ProcessGroupID -> Eff es ()
- installHandler :: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) => Signal -> Handler (Eff es) -> Maybe SignalSet -> Eff es (Handler (Eff es))
- getSignalMask :: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) => Eff es SignalSet
- setSignalMask :: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) => SignalSet -> Eff es ()
- blockSignals :: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) => SignalSet -> Eff es ()
- unblockSignals :: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) => SignalSet -> Eff es ()
- scheduleAlarm :: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) => Int -> Eff es Int
- getPendingSignals :: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) => Eff es SignalSet
- awaitSignal :: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) => Maybe SignalSet -> Eff es ()
- setStoppedChildFlag :: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) => Bool -> Eff es Bool
- queryStoppedChildFlag :: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) => Eff es Bool
- runPosixSignals :: forall (es :: [Effect]) a. (HasCallStack, IOE :> es) => Eff (PosixSignals ': es) a -> Eff es a
- data Handler (m :: Type -> Type)
- = Default
- | Ignore
- | Catch (m ())
- | CatchOnce (m ())
- | CatchInfo (SignalInfo -> m ())
- | CatchInfoOnce (SignalInfo -> m ())
- mapHandler :: (forall x. m x -> n x) -> Handler m -> Handler n
- type PosixHandler = Handler
- mapHandlerToPosix :: (forall x. m x -> IO x) -> Handler m -> PosixHandler
- mapHandlerFromPosix :: (forall x. IO x -> n x) -> PosixHandler -> Handler n
- type Signal = CInt
- data SignalSet
- type ProcessID = CPid
- type ProcessGroupID = CPid
Effect
data PosixSignals (a :: Type -> Type) b where Source #
Dynamic effect for System.Posix.Files.
Since: 0.1
Constructors
Instances
| ShowEffect PosixSignals Source # | Since: 0.1 |
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 |
Defined in Effectful.Posix.Signals.Dynamic | |
Arguments
| :: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) | |
| => Signal | . |
| -> Eff es () |
Lifted raiseSignal.
Since: 0.1
Arguments
| :: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) | |
| => Signal | . |
| -> ProcessID | |
| -> Eff es () |
Lifted signalProcess.
Since: 0.1
Arguments
| :: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) | |
| => Signal | . |
| -> ProcessGroupID | |
| -> Eff es () |
Lifted signalProcessGroup.
Since: 0.1
Arguments
| :: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) | |
| => Signal | . |
| -> Handler (Eff es) | |
| -> Maybe SignalSet | |
| -> Eff es (Handler (Eff es)) |
Lifted installHandler.
Since: 0.1
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
Arguments
| :: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) | |
| => SignalSet | . |
| -> Eff es () |
Lifted blockSignals.
Since: 0.1
Arguments
| :: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) | |
| => SignalSet | . |
| -> Eff es () |
Lifted unblockSignals.
Since: 0.1
Arguments
| :: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) | |
| => Int | . |
| -> Eff es Int |
Lifted scheduleAlarm.
Since: 0.1
Arguments
| :: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) | |
| => Eff es SignalSet | . |
Lifted getPendingSignals.
Since: 0.1
Arguments
| :: forall (es :: [Effect]). (HasCallStack, PosixSignals :> es) | |
| => Maybe SignalSet | . |
| -> Eff es () |
Lifted awaitSignal.
Since: 0.1
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
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 ProcessGroupID = CPid #