1WAIT_EVENT_INTERRUPT(9) Driver Basics WAIT_EVENT_INTERRUPT(9)
2
3
4
6 wait_event_interruptible_lock_irq_timeout - sleep until a condition
7 gets true or a timeout elapses. The condition is checked under the
8 lock. This is expected to be called with the lock taken.
9
11 wait_event_interruptible_lock_irq_timeout(wq, condition, lock,
12 timeout);
13
15 wq
16 the waitqueue to wait on
17
18 condition
19 a C expression for the event to wait for
20
21 lock
22 a locked spinlock_t, which will be released before schedule and
23 reacquired afterwards.
24
25 timeout
26 timeout, in jiffies
27
29 The process is put to sleep (TASK_INTERRUPTIBLE) until the condition
30 evaluates to true or signal is received. The condition is checked each
31 time the waitqueue wq is woken up.
32
33 wake_up has to be called after changing any variable that could change
34 the result of the wait condition.
35
36 This is supposed to be called while holding the lock. The lock is
37 dropped before going to sleep and is reacquired afterwards.
38
39 The function returns 0 if the timeout elapsed, -ERESTARTSYS if it was
40 interrupted by a signal, and the remaining jiffies otherwise if the
41 condition evaluated to true before the timeout elapsed.
42
44Kernel Hackers Manual 3.10 June 2019 WAIT_EVENT_INTERRUPT(9)