12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #pragma once
- #include <common/glib.h>
- typedef struct
- {
- struct List wait_list;
- struct process_control_block *pcb;
- } wait_queue_node_t;
- void wait_queue_init(wait_queue_node_t *wait_queue, struct process_control_block *pcb);
- void wait_queue_sleep_on(wait_queue_node_t *wait_queue_head);
- void wait_queue_sleep_on_unlock(wait_queue_node_t *wait_queue_head,
- void *lock);
- void wait_queue_sleep_on_interriptible(wait_queue_node_t *wait_queue_head);
- void wait_queue_wakeup(wait_queue_node_t *wait_queue_head, int64_t state);
|