mutex
struct mutex_simple { struct thread *owner; struct thread_queue waiters; struct spinlock lock;};struct mutex_simple referenced types:
struct mutex { (uintptr_t) lock_word;};void mutex_simple_init(struct mutex_simple *m);mutex_simple_init referenced types:
void mutex_simple_lock(struct mutex_simple *m);mutex_simple_lock referenced types:
void mutex_simple_unlock(struct mutex_simple *m);mutex_simple_unlock referenced types:
void mutex_init(struct mutex *mtx);mutex_init referenced types:
void mutex_unlock(struct mutex *mutex);mutex_unlock referenced types:
void mutex_lock(struct mutex *mutex);mutex_lock referenced types:
bool mutex_held(struct mutex *mtx);mutex_held referenced types:
struct thread * mutex_get_owner(struct mutex *mtx);mutex_get_owner referenced types:
Defines
Section titled “Defines”#define MUTEX_INIT {ATOMIC_VAR_INIT(0)}#define MUTEX_ASSERT_HELD(m) kassert(mutex_held(m))