X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/ea77b9c3fc7fb9bf9d7f9604fc187c8049212a2a..f89517343bf062d299d54408eea2f9387bfefb6d:/lunaix-os/includes/lunaix/ds/waitq.h diff --git a/lunaix-os/includes/lunaix/ds/waitq.h b/lunaix-os/includes/lunaix/ds/waitq.h index 4014d05..4469e1c 100644 --- a/lunaix-os/includes/lunaix/ds/waitq.h +++ b/lunaix-os/includes/lunaix/ds/waitq.h @@ -20,9 +20,27 @@ waitq_empty(waitq_t* waitq) return llist_empty(&waitq->waiters); } +static inline void +waitq_cancel_wait(waitq_t* waitq) +{ + llist_delete(&waitq->waiters); +} + +void +prepare_to_wait(waitq_t* waitq); + +void +try_wait(); + +void +try_wait_check_stall(); + void pwait(waitq_t* queue); +void +pwait_check_stall(waitq_t* queue); + void pwake_one(waitq_t* queue);