'\" t .\" Title: wait_event_interruptible_locked_irq .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: January 2017 .\" Manual: Driver Basics .\" Source: Kernel Hackers Manual 4.8.15 .\" Language: English .\" .TH "WAIT_EVENT_INTERRUPT" "9" "January 2017" "Kernel Hackers Manual 4\&.8\&." "Driver Basics" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" wait_event_interruptible_locked_irq \- sleep until a condition gets true .SH "SYNOPSIS" .HP \w'wait_event_interruptible_locked_irq('u .BI "wait_event_interruptible_locked_irq(" "wq" ", " "condition" ");" .SH "ARGUMENTS" .PP \fIwq\fR .RS 4 the waitqueue to wait on .RE .PP \fIcondition\fR .RS 4 a C expression for the event to wait for .RE .SH "DESCRIPTION" .PP The process is put to sleep (TASK_INTERRUPTIBLE) until the \fIcondition\fR evaluates to true or a signal is received\&. The \fIcondition\fR is checked each time the waitqueue \fIwq\fR is woken up\&. .PP It must be called with wq\&.lock being held\&. This spinlock is unlocked while sleeping but \fIcondition\fR testing is done while lock is held and when this macro exits the lock is held\&. .PP The lock is locked/unlocked using \fBspin_lock_irq\fR/\fBspin_unlock_irq\fR functions which must match the way they are locked/unlocked outside of this macro\&. .PP \fBwake_up_locked\fR has to be called after changing any variable that could change the result of the wait condition\&. .PP The function will return \-ERESTARTSYS if it was interrupted by a signal and 0 if \fIcondition\fR evaluated to true\&. .SH "COPYRIGHT" .br