Module Async_unix.Interruptor

An interruptor provides a file descriptor that can be used to cause a file-descr-watcher to detect the file descriptor is ready for reading. We use an interruptor when a thread needs the Async scheduler to service a request.

type t
include sig ... end
val sexp_of_t : t ‑> Sexplib.Sexp.t
include Core.Invariant.S with type t := t
type t
val create : create_fd:(Raw_fd.Kind.t ‑> Core.Unix.File_descr.t ‑> Core.Info.t ‑> Raw_fd.t) ‑> t
val read_fd : t ‑> Raw_fd.t
val thread_safe_interrupt : t ‑> unit

thread_safe_interrupt t causes read_fd t to become ready for reading.

val clear : t ‑> unit

clear t causes read_fd t to become not ready for reading. It is guaranteed that any calls to thread_safe_interrupt after clear t returns (and prior to another call to clear t) will cause read_fd to become ready for reading.