Stdlib.Condition(3) OCaml library Stdlib.Condition(3) NAME Stdlib.Condition - no description Module Module Stdlib.Condition Documentation Module Condition : (module Stdlib__Condition) type t The type of condition variables. val create : unit -> t create() creates and returns a new condition variable. This condition variable should be associated (in the programmer's mind) with a certain mutex m and with a certain property P of the data structure that is protected by the mutex m . val wait : t -> Mutex.t -> unit The call wait c m is permitted only if m is the mutex associated with the condition variable c , and only if m is currently locked. This call atomically unlocks the mutex m and suspends the current thread on the condition variable c . This thread can later be woken up after the condition variable c has been signaled via Condition.signal or Condition.broadcast ; however, it can also be woken up for no reason. The mutex m is locked again before wait returns. One cannot assume that the property P associated with the condition variable c holds when wait returns; one must explicitly test whether P holds after calling wait . val signal : t -> unit signal c wakes up one of the threads waiting on the condition variable c , if there is one. If there is none, this call has no effect. It is recommended to call signal c inside a critical section, that is, while the mutex m associated with c is locked. val broadcast : t -> unit broadcast c wakes up all threads waiting on the condition variable c . If there are none, this call has no effect. It is recommended to call broadcast c inside a critical section, that is, while the mutex m associated with c is locked. OCamldoc 2024-02-29 Stdlib.Condition(3)