OUnitShared
exception Lock_failure
type scope =
| ScopeGlobal
| ScopeProcess
type 'a shared_noscope = {
lock : 'a -> unit;
unlock : 'a -> unit;
try_lock : 'a -> bool;
}
type shared = {
global : int shared_noscope;
process : int shared_noscope;
val get_scoped : shared -> scope -> int shared_noscope
val mutex_create : (unit -> unit shared_noscope) ref
module Mutex : sig ... end
val noscope_create : unit -> 'a shared_noscope
val create : unit -> shared