|
PatchworkOS
|
Read-Write Mutex structure. More...
#include <rwmutex.h>
Data Fields | |
| uint16_t | activeReaders |
| uint16_t | waitingWriters |
| wait_queue_t | readerQueue |
| wait_queue_t | writerQueue |
| bool | hasWriter |
| lock_t | lock |
Read-Write Mutex structure.
A Read-Write Mutex allows one only writer or multiple readers to access a shared resource at the same time. This implementation prioritizes writers over readers and does not support recursive locking.
| uint16_t rwmutex_t::activeReaders |
Definition at line 43 of file rwmutex.h.
Referenced by rwmutex_deinit(), rwmutex_init(), rwmutex_read_acquire(), rwmutex_read_release(), rwmutex_read_try_acquire(), rwmutex_write_acquire(), and rwmutex_write_try_acquire().
| bool rwmutex_t::hasWriter |
Definition at line 47 of file rwmutex.h.
Referenced by rwmutex_deinit(), rwmutex_init(), rwmutex_read_acquire(), rwmutex_read_try_acquire(), rwmutex_write_acquire(), rwmutex_write_release(), and rwmutex_write_try_acquire().
| lock_t rwmutex_t::lock |
Definition at line 48 of file rwmutex.h.
Referenced by rwmutex_deinit(), rwmutex_init(), rwmutex_read_acquire(), rwmutex_read_release(), rwmutex_read_try_acquire(), rwmutex_write_acquire(), rwmutex_write_release(), and rwmutex_write_try_acquire().
| wait_queue_t rwmutex_t::readerQueue |
Definition at line 45 of file rwmutex.h.
Referenced by rwmutex_deinit(), rwmutex_init(), rwmutex_read_acquire(), and rwmutex_write_release().
| uint16_t rwmutex_t::waitingWriters |
Definition at line 44 of file rwmutex.h.
Referenced by rwmutex_deinit(), rwmutex_init(), rwmutex_read_acquire(), rwmutex_read_release(), rwmutex_read_try_acquire(), rwmutex_write_acquire(), and rwmutex_write_release().
| wait_queue_t rwmutex_t::writerQueue |
Definition at line 46 of file rwmutex.h.
Referenced by rwmutex_deinit(), rwmutex_init(), rwmutex_read_release(), rwmutex_write_acquire(), and rwmutex_write_release().