Skip to content

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:

#define MUTEX_INIT {ATOMIC_VAR_INIT(0)}
#define MUTEX_ASSERT_HELD(m) kassert(mutex_held(m))