module type LIGHT =sig
..end
type
t
Lwt.task
).val create : unit -> t
val try_to_pass : t -> (unit, 'a) Pvem_lwt_unix.Deferred_result.t
try_to_pass t
will block until t
is “green” or will return
immediately if t
is already green.val green : t -> unit
green t
sets the light to “green”, this will wake up all the threads
waiting on try_to_pass t
.