15 lines
249 B
C
15 lines
249 B
C
#pragma once
|
|
|
|
#include <zinnia/spin.h>
|
|
#include <zinnia/tailq.h>
|
|
|
|
struct task;
|
|
|
|
// A queue of tasks waiting for an event.
|
|
struct wait_queue {
|
|
tailq_head(struct task) waiters;
|
|
spinlock_t lock;
|
|
};
|
|
|
|
void wait_queue_init(struct wait_queue* wq);
|