Up

Module 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.

Signature

type t
val sexp_of_t : t -> Sexplib.Sexp.t
include Core.Std.Invariant.S with type t := t
type t
val invariant : t Invariant_intf.inv
val create : create_fd:(Raw_fd.Kind.t -> Core.Std.Unix.File_descr.t -> Core.Std.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.