wait_event_interruptible_lock_irq_timeout — sleep until a condition gets true or a timeout elapses. The condition is checked under the lock. This is expected to be called with the lock taken.
wait_event_interruptible_lock_irq_timeout ( | wq, |
condition, | |
lock, | |
timeout) ; |
wq
the waitqueue to wait on
condition
a C expression for the event to wait for
lock
a locked spinlock_t, which will be released before schedule
and reacquired afterwards.
timeout
timeout, in jiffies
The process is put to sleep (TASK_INTERRUPTIBLE) until the
condition
evaluates to true or signal is received. 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.
This is supposed to be called while holding the lock. The lock is dropped before going to sleep and is reacquired afterwards.
The function returns 0 if the timeout
elapsed, -ERESTARTSYS if it
was interrupted by a signal, and the remaining jiffies otherwise
if the condition evaluated to true before the timeout elapsed.