condvar
struct condvar { struct thread_queue waiters; bool irq_disable;};struct condvar referenced types:
struct condvar_with_cb { struct condvar *cv; condvar_callback cb; void *cb_arg; size_t cookie;};struct condvar_with_cb referenced types:
typedef void (*condvar_callback)(void *);typedef void (*thread_action_callback)(struct thread * woke);type alias thread_action_callback referenced types:
enum wake_reason condvar_wait(struct condvar *cv, struct spinlock *lock, enum irql irql, enum irql *out);condvar_wait referenced types:
void condvar_init(struct condvar *cv, bool irq_disable);condvar_init referenced types:
struct thread * condvar_signal(struct condvar *cv);condvar_signal referenced types:
struct thread * condvar_signal_callback(struct condvar *cv, thread_action_callback cb);condvar_signal_callback referenced types:
void condvar_broadcast_callback(struct condvar *cv, thread_action_callback cb);condvar_broadcast_callback referenced types:
void condvar_broadcast(struct condvar *cv);condvar_broadcast referenced types:
enum wake_reason condvar_wait_timeout(struct condvar *cv, struct spinlock *lock, time_t timeout_ms, enum irql irql, enum irql *out);condvar_wait_timeout referenced types:
Defines
Section titled “Defines”#define CONDVAR_INIT_IRQ_DISABLE true#define CONDVAR_INIT_NORMAL false