sig
module type Mutex_control =
sig
type priority
val scheduler :
Duppy.Monad.Mutex.Mutex_control.priority Duppy.scheduler
val priority : Duppy.Monad.Mutex.Mutex_control.priority
end
module type Mutex_t =
sig
type mutex
module Control : Mutex_control
val create : unit -> Duppy.Monad.Mutex.Mutex_t.mutex
val lock : Duppy.Monad.Mutex.Mutex_t.mutex -> (unit, 'a) Duppy.Monad.t
val try_lock :
Duppy.Monad.Mutex.Mutex_t.mutex -> (bool, 'a) Duppy.Monad.t
val unlock :
Duppy.Monad.Mutex.Mutex_t.mutex -> (unit, 'a) Duppy.Monad.t
end
module Factory : functor (Control : Mutex_control) -> Mutex_t
end