Unix style signals for Unix and Windows. SIGKILL and SIGSTOP are missing because they cannot be caught. SIGBUS, SIGFPE, SIGILL, and SIGSEGV are missing because they cannot be caught safely by libuv. SIGPIPE is not present because the runtime ignores the signal.
- sighup : Signal
Hangup detected on controlling terminal or death of controlling process.
On Windows:
- SIGHUP is generated when the user closes the console window. The program is given ~10 seconds to perform cleanup before Windows unconditionally terminates it.
- sigint : Signal
Interrupt program.
Notes:
- Normally delivered when the user presses CTRL+C. Not generated when terminal raw mode is enabled.
- sigquit : Signal
Quit program.
- sigtrap : Signal
Trace/breakpoint trap.
- sigabrt : Signal
Abort signal.
Notes:
- SIGABRT is not catchable if generated by certain runtime functions, such as abort or assertion failure.
- On Windows, watchers can be created for SIGABRT, but they never receive the signal.
- sigusr1 : Signal
User-defined signal 1.
- sigusr2 : Signal
User-defined signal 2.
- sigalrm : Signal
Real-time timer expired.
- sigterm : Signal
Termination signal.
Notes:
- On Windows, watchers can be created for SIGTERM, but they never receive the signal.
- sigchld : Signal
Child status has changed.
- sigcont : Signal
Continue after stop.
- sigtstp : Signal
Stop typed at terminal.
- sigttin : Signal
Background read attempted from control terminal.
- sigttou : Signal
Background write attempted to control terminal.
- sigurg : Signal
Urgent condition on socket.
- sigxcpu : Signal
CPU time limit exceeded.
- sigxfsz : Signal
File size limit exceeded.
- sigvtalrm : Signal
Virtual alarm clock.
- sigprof : Signal
Profiling timer expired.
- sigwinch : Signal
Window size change.
Notes:
- SIGWINCH is raised whenever the runtime detects the console has been resized.
- Under console emulators, or on 32-bit apps on 64-bit systems, SIGWINCH is emulated.
- In these cases, signals may not be delivered timely.
- sigio : Signal
I/O now possible.
- sigsys : Signal
Bad system call.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
Equations
- Std.Internal.IO.Async.instBEqSignal.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Signal.Waiter can be used to handle a specific signal once.
- ofNative :: (
- native : UV.Signal
- )
Instances For
Set up a Signal.Waiter that waits for the specified signum.
This function only initializes but does not yet start listening for the signal.
Equations
- Std.Internal.IO.Async.Signal.Waiter.mk signum repeating = do let native ← Std.Internal.UV.Signal.mk (Std.Internal.IO.Async.Signal.toInt32✝ signum) repeating pure { native := native }
Instances For
If:
sis not yet running start listening and return anAsyncTaskthat will resolve once the previously configured signal is received.sis already or not anymore running return the sameAsyncTaskas the first call towait.
The resolved AsyncTask contains the signal number that was received.
Equations
Instances For
If:
sis still running this stopsswithout resolving any remainingAsyncTasks that were created throughwait. Note that if anotherAsyncTaskis binding on any of these it is going hang forever without further intervention.sis not yet or not anymore running this is a no-op.
Instances For
Create a Selector that resolves once s has received the signal. Note that calling this function
does not start the signal waiter.
Equations
- One or more equations did not get rendered due to their size.