module Factory:
| Parameters: |
|
type mutex
Type for a mutex.
module Control:Duppy.Monad.Mutex.Mutex_control
val create : unit -> mutexcreate () creates a mutex.
val lock : mutex -> (unit, 'a) Duppy.Monad.tA computation that locks a mutex
and returns unit afterwards. Computation
will be blocked until the mutex is sucessfuly locked.
val try_lock : mutex -> (bool, 'a) Duppy.Monad.tA computation that tries to lock a mutex.
Returns immediatly true if the mutex was sucesfully locked
or false otherwise.
val unlock : mutex -> (unit, 'a) Duppy.Monad.tA computation that unlocks a mutex. Should return immediatly.