mutex
| Member Type | Member Name |
|---|---|
struct thread | *owner |
struct thread_queue | waiters |
struct spinlock | lock |
| Member Type | Member Name |
|---|---|
(uintptr_t) | lock_word |
| Name | Value |
|---|---|
MUTEX_HELD_BIT | 1 |
MUTEX_WAITER_BIT | 1 << 1 |
voidmutex_simple_init(struct mutex_simple*m)voidmutex_simple_lock(struct mutex_simple*m)voidmutex_simple_unlock(struct mutex_simple*m)static inline voidmutex_init(struct mutex*mtx)voidmutex_unlock(struct mutex*mutex)voidmutex_lock(struct mutex*mutex)
Defines
Section titled “Defines”MUTEX_META_BITS:(MUTEX_HELD_BIT | MUTEX_WAITER_BIT)MUTEX_INIT:{ATOMIC_VAR_INIT(0)}