package lwt
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=97c12b3da3d0db019dbdb97950b72f6fd1226ded7519c36ebfe2787574a9b132
md5=d5783fcff4fbfa7f79c9303776e4d144
doc/lwt/Lwt_condition/index.html
Module Lwt_condition
Conditions
Condition variables to synchronize between threads.
Condition variable type. The type parameter denotes the type of value propagated from notifier to waiter.
val create : unit -> 'a tcreate () creates a new condition variable.
val wait : ?mutex:Lwt_mutex.t -> 'a t -> 'a Lwt.twait 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 signal is returned.
val signal : 'a t -> 'a -> unitsignal 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 signal is called, the notification will be missed and the value discarded.
val broadcast : 'a t -> 'a -> unitbroadcast condvar value notifies all waiting threads. Each will be awoken in turn and will receive the same notification value.
val broadcast_exn : 'a t -> exn -> unitbroadcast_exn condvar exn fails all waiting threads with exception exn.