wait_event_interruptible_locked_irq
Prev | Wait queues and Wake events | Next

## Name

wait_event_interruptible_locked_irq — sleep until a condition gets true

## Synopsis

`wait_event_interruptible_locked_irq (` | wq,
| condition`)`;

## Arguments

`wq`

  the waitqueue to wait on

`condition`

  a C expression for the event to wait for

## Description

The process is put to sleep (TASK_INTERRUPTIBLE) until the `condition` evaluates to true or a signal is received. The `condition` is checked each time the waitqueue `wq` is woken up.

It must be called with wq.lock being held. This spinlock is unlocked while sleeping but `condition` testing is done while lock is held and when this macro exits the lock is held.

The lock is locked/unlocked using `spin_lock_irq`/`spin_unlock_irq` functions which must match the way they are locked/unlocked outside of this macro.

`wake_up_locked` has to be called after changing any variable that could change the result of the wait condition.

The function will return -ERESTARTSYS if it was interrupted by a signal and 0 if `condition` evaluated to true.

Prev | Up | Next
wait_event_interruptible_locked | Home | wait_event_interruptible_exclusive_locked