WAIT_EVENT_INTERRUPT(9) Driver Basics WAIT_EVENT_INTERRUPT(9)NAMEwait_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.
SYNOPSIS
wait_event_interruptible_lock_irq_timeout(wq, condition, lock,
timeout);
ARGUMENTS
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
DESCRIPTION
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.
COPYRIGHTKernel Hackers Manual 3.11 November 2013 WAIT_EVENT_INTERRUPT(9)