Skip to content

IO waiting primitives

struct io_wait_token {
struct list_head list;
struct thread *owner;
void *wait_object;
bool active;
size_t magic;
};

struct io_wait_token referenced types:

enum io_wait_end_action {
IO_WAIT_END_YIELD,
IO_WAIT_END_NO_OP,
};
void io_wait_begin(struct io_wait_token *out, void *io_object);

io_wait_begin referenced types:

void io_wait_end(struct io_wait_token *t, enum io_wait_end_action act);

io_wait_end referenced types:

bool io_wait_token_active(struct io_wait_token *t);

io_wait_token_active referenced types:

#define IO_WAIT_TOKEN_EMPTY \ (struct io_wait_token){ \ .owner = NULL, .wait_object = NULL, .active = false, .magic = 0}