module Lwt_condition : sig..end
Condition variables to synchronize between threads.
type 'a t
Condition variable type. The type parameter denotes the type of
value propagated from notifier to waiter.
val create : unit -> 'a t
create () creates a new condition variable.
val wait : ?mutex:Lwt_mutex.t -> 'a t -> 'a Lwt.t
wait mutex condvar will cause the current thread to block,
awaiting notification for a condition variable, condvar. If
provided, the mutex must have been previously locked (within
the scope of Lwt_mutex.with_lock, for example) and is
temporarily unlocked until the condition is notified. Upon
notification, mutex is re-locked before wait returns and
the thread's activity is resumed. When the awaited condition
is notified, the value parameter passed to notify is
val signal : 'a t -> 'a -> unit
signal condvar value notifies that a condition is ready. A
single waiting thread will be awoken and will receive the
notification value which will be returned from wait. Note
that condition notification is not "sticky", i.e. if there is
no waiter when notify is called, the notification will be
missed and the value discarded.
val broadcast : 'a t -> 'a -> unit
broadcast condvar value notifies all waiting threads. Each
will be awoken in turn and will receive the same notification