Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
val create_empty : unit -> 'a t
Create an empty mvar.
val create : 'a -> 'a t
Create an mvar containing a value.
val take : 'a t -> 'a
Wait until mvar holds a value, then return it and leave the mvar empty.
val try_take : 'a t -> 'a option
Non-blocking take - if the mvar holds no value, return None.
val put : 'a t -> 'a -> unit
Wait until the mvar is empty, then put the supplied value in the mvar.
val try_put : 'a t -> 'a -> bool
Non-blocking put - if the mvar is empty the put the supplied value in the mvar, otherwise return false.
val is_empty : 'a t -> bool
Test whether the mvar is empty.
val swap : 'a t -> 'a -> 'a
Wait until the mvar is populated, then put the supplied value in the mvar and return the previous value.
val modify : 'a t -> ('a -> 'a) -> unit
Wait until the mvar is populated, then use the supplied function to modify its value.