Module Async_unix__.Busy_pollers

type t
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
include Async_unix__.Import.Invariant.S with type t := t
type t
val invariant : t Base__.Invariant_intf.inv
val create : unit -> t

create () creates a new empty set.

val is_empty : t -> bool
val add : t -> (unit -> [ `Stop_polling of 'a | `Continue_polling ]) -> 'a Async_unix__.Import.Deferred.t

add t f adds function f to the set t. f will run every time poll is called. f runs with the same execution context that was in effect when add was called. When poll is called and f returns `Stop_polling, the result of add becomes determined and f is removed from the set. Also, if f raises, it is removed from the set and the exception is sent to the monitor in effect when add was called,

val poll : t -> unit

poll t runs every function in the set t.