- wait_event_timeout(wq, condition, timeout);
- the waitqueue to wait on
- a C expression for the event to wait for
- timeout, in jiffies
The process is put to sleep (TASK_UNINTERRUPTIBLE) until the condition evaluates to true. The condition is checked each time the waitqueue wq is woken up.
wake_up has to be called after changing any variable that could change the result of the wait condition.
The function returns 0 if the timeout elapsed, or the remaining jiffies (at least 1) if the condition evaluated to true before the timeout elapsed.