type t = Condition.t
val create : unit -> t
val equal : t -> t -> bool
val wait : t -> Mutex.t -> unit
val timedwait : t -> Mutex.t -> Time.t -> bool
timedwait cond mtx timeout waits on condition variable cond with mutex mtx until either the condition is signalled, or until timeout expires. Note that timeout is an absolute Unix-time to prevent time-related race conditions. Returns false iff the timer expired, but this does not mean that the condition is not true due to an unavoidable race condition in the system call.

See man pthread_cond_timedwait for details.

val signal : t -> unit
val broadcast : t -> unit