|
CX Framework
Cross-platform C utility framework
|
#include <rwlock.h>
Public Member Functions | |
| atomic (uint32) state | |
| Packed lock state (readers, waiting readers, writers) | |
Data Fields | |
| Futex | rftx |
| Futex for reader wait queue. | |
| Futex | wftx |
| Futex for writer wait queue. | |
| AdaptiveSpin | aspin |
| Adaptive spin state. | |
Reader-writer lock synchronization primitive
Allows multiple concurrent readers or a single exclusive writer. The state field packs reader count (12 bits), waiting reader count (11 bits), and writer count (9 bits) into a single 32-bit atomic.