Source file cancel_handle.ml

1
2
3
4
5
6
7
8
(** Cancelation handle. *)

type t = { cancel: unit -> unit } [@@unboxed]
(** A handle to cancel atomic actions (waiting on something) *)

let[@inline] cancel self = self.cancel ()
let[@inline] make ~cancel () : t = { cancel }
let dummy : t = { cancel = ignore }