/* Available in: irq, thread. */ void tt_wq_set_event (TT_WQ_T *wait_queue) { if (tt_is_irq_disabled ()) __tt_wq_set_event (wait_queue); else tt_syscall ((void *)wait_queue, __tt_wq_set_event); }
static void __tt_wq_wakeup (void *arg) { __TIMEOUT_WQ_T *wq_args = (__TIMEOUT_WQ_T *)arg; if (wq_args->thread->wait_parent == wq_args->wait_queue) { /* Wakeup thread */ wq_args->result = -1; __tt_wq_set_event (wq_args->wait_queue); } }