Luv.MutexMutexes.
See Synchronization primitives in the user guide and Mutex locks in libuv.
type t = Luv_c_types.Mutex.t Ctypes.ptrBinds uv_mutex_t.
Allocates and initializes a mutex.
Binds uv_mutex_init. See pthread_mutex_init(3p).
If ?recursive is set to true, calls uv_mutex_init_recursive instead.
?recursive requires libuv 1.15.0.
Feature check: Luv.Require.(has mutex_init_recursive)
val destroy : t -> unitCleans up a mutex.
Binds uv_mutex_destroy. See pthread_mutex_destroy(3p).
val lock : t -> unitTakes a mutex.
Binds uv_mutex_lock. See pthread_mutex_lock(3p).
The calling thread is blocked until it obtains the mutex.
Tries to take the mutex without blocking.
Binds uv_mutex_trylock. See pthread_mutex_trylock(3p).
val unlock : t -> unitReleases the mutex.
Binds uv_mutex_unlock. See pthread_mutex_unlock(3p).