|
PatchworkOS
|
#include <kernel/sync/rwmutex.h>#include <kernel/log/panic.h>#include <kernel/sched/wait.h>#include <kernel/sync/lock.h>#include <assert.h>#include <errno.h>Go to the source code of this file.
Functions | |
| void | rwmutex_init (rwmutex_t *mtx) |
| Initializes a rwmutex. | |
| void | rwmutex_deinit (rwmutex_t *mtx) |
| Deinitializes a rwmutex. | |
| void | rwmutex_read_acquire (rwmutex_t *mtx) |
| Acquires a rwmutex for reading, blocking until it is available. | |
| uint64_t | rwmutex_read_try_acquire (rwmutex_t *mtx) |
| Tries to acquire a rwmutex for reading. | |
| void | rwmutex_read_release (rwmutex_t *mtx) |
| Releases a rwmutex from reading. | |
| void | rwmutex_write_acquire (rwmutex_t *mtx) |
| Acquires a rwmutex for writing, blocking until it is available. | |
| uint64_t | rwmutex_write_try_acquire (rwmutex_t *mtx) |
| Tries to acquire a rwmutex for writing. | |
| void | rwmutex_write_release (rwmutex_t *mtx) |
| Releases a rwmutex from writing. | |