Module Rw_mutex


module Rw_mutex: sig .. end
Read/write mutexes
Author(s): Markus Mottl


Types



Real types


type 'a t 
Type of r/w mutexes

Phantom types


type pref = [ `NoPref | `Readers | `Writers ] 
Preference for readers, writers, or no preference
type 'a kind 

Phantom values


val r_pref : [ `Readers ] kind
val w_pref : [ `Writers ] kind
val np_pref : [ `NoPref ] kind
val create : 'a kind -> 'a t
val r_lock : [< pref ] t -> unit
val r_unlock : [< pref ] t -> unit
val w_lock : [< pref ] t -> unit
val w_unlock : [< pref ] t -> unit
val try_r_lock : [< pref ] t -> bool
val try_w_lock : [< pref ] t -> bool
val wrap_r_lock : [< pref ] t -> (unit -> 'a) -> 'a
val try_wrap_r_lock : [< pref ] t -> (unit -> 'a) -> 'a option
val btry_wrap_r_lock : [< pref ] t -> (unit -> unit) -> bool
val wrap_w_lock : [< pref ] t -> (unit -> 'a) -> 'a
val try_wrap_w_lock : [< pref ] t -> (unit -> 'a) -> 'a option
val btry_wrap_w_lock : [< pref ] t -> (unit -> unit) -> bool