module Interruptor: sig
.. end
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 Invariant.S
val create : create_fd:(Raw_fd.Kind.t ->
Core.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.
val sexp_of_t : t -> Sexplib.Sexp.t
thread_safe_interrupt t
causes read_fd t
to become ready for reading.
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.