38 mtx_init(&rw->
mtx, mtx_plain);
52 mtx_destroy(&rw->
mtx);
53 cnd_destroy(&rw->
cnd);
66 cnd_wait(&rw->
cnd, &rw->
mtx);
83 cnd_broadcast(&rw->
cnd);
99 cnd_wait(&rw->
cnd, &rw->
mtx);
103 mtx_unlock(&rw->
mtx);
115 cnd_broadcast(&rw->
cnd);
116 mtx_unlock(&rw->
mtx);
static void reduct_rwmutex_read_lock(reduct_rwmutex_t *rw)
Lock a rwmutex for reading.
static void reduct_rwmutex_write_unlock(reduct_rwmutex_t *rw)
Unlock a rwmutex after writing.
static void reduct_rwmutex_read_unlock(reduct_rwmutex_t *rw)
Unlock a rwmutex after reading.
static void reduct_rwmutex_destroy(reduct_rwmutex_t *rw)
Destroy a read-write mutex.
static void reduct_rwmutex_write_lock(reduct_rwmutex_t *rw)
Lock a rwmutex for writing.
static void reduct_rwmutex_init(reduct_rwmutex_t *rw)
Initialize a read-write mutex.
Read-Write Mutex structure.