Reader writer lock
| Member Type | Member Name |
|---|---|
(uintptr_t) | lock_word |
| Name | Value |
|---|---|
RWLOCK_WRITER_HELD_BIT | 1ULL << 0 |
RWLOCK_WAITER_BIT | 1ULL << 1ULL |
RWLOCK_WRITER_WANT_BIT | 1ULL << 2ULL |
| Name | Value |
|---|---|
RWLOCK_ACQUIRE_READ | 0 |
RWLOCK_ACQUIRE_WRITE | 1 |
voidrwlock_lock(struct rwlock*lock,enum rwlock_acquire_typetype)voidrwlock_unlock(struct rwlock*lock)
Defines
Section titled “Defines”RWLOCK_READER_COUNT_MASK:~0x7ULLRWLOCK_OWNER_MASK:~1ULLRWLOCK_READER_COUNT_ONE:(1 << 3)