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.
include sig ... endval sexp_of_t : t ‑> Sexplib.Sexp.tval create : create_fd:(Async_unix__.Raw_fd.Kind.t ‑> Core.Unix.File_descr.t ‑> Core.Info.t ‑> Async_unix__.Raw_fd.t) ‑> tval read_fd : t ‑> Async_unix__.Raw_fd.tval thread_safe_interrupt : t ‑> unitthread_safe_interrupt t causes read_fd t to become ready for reading.
val clear : t ‑> unitclear 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.