pub fn signal(kind: SignalKind) -> Result<Signal, Error>
Expand description
Creates a new listener which will receive notifications when the current
process receives the specified signal kind
.
This function will create a new stream which binds to the default reactor.
The Signal
stream is an infinite stream which will receive
notifications whenever a signal is received. More documentation can be
found on Signal
itself, but to reiterate:
- Signals may be coalesced beyond what the kernel already does.
- Once a signal handler is registered with the process the underlying libc signal handler is never unregistered.
A Signal
stream can be created for a particular signal number
multiple times. When a signal is received then all the associated
channels will receive the signal notification.
Errors
- If the lower-level C functions fail for some reason.
- If the previous initialization of this specific signal failed.
- If the signal is one of
signal_hook::FORBIDDEN
Panics
This function panics if there is no current reactor set, or if the rt
feature flag is not enabled.