Module Uwt.Signal

module Signal: sig .. end

Signal handles implement Unix style signal handling on a per-event loop bases.

Reception of some signals is emulated on Windows:

Watchers for other signals can be successfully created, but these signals are never received. These signals are: SIGILL, SIGABRT, SIGFPE, SIGSEGV, SIGTERM and SIGKILL.

Calls to raise() or abort() to programmatically raise a signal are not detected by libuv; these will not trigger a signal watcher.

type t 
include Uwt.Handle
val to_handle : t -> Uwt.Handle.t
val sigbreak : int

Uwt.Signal.sigwinch and Uwt.Signal.sigbreak are windows and libuv specific. Don't use them in any other context, don't pass them to Unix.kill or similar functions.

val sigwinch : int
val start : int -> cb:(t -> int -> unit) -> t uv_result

use Sys.sigterm, Sys.sigstop, etc

val start_exn : int -> cb:(t -> int -> unit) -> t
val oneshot : int -> unit Lwt.t

Wait for the signal once and reset the moment the signal is received. Use Lwt.cancel to stop the signal handler