Commit 6b44f519 authored by Scot Doyle's avatar Scot Doyle Committed by Ingo Molnar

sched/wait: Document timeout corner case

The timeout may elapse without 0 being returned, such as when waiting
on an unused queue. Document this possibility.
Signed-off-by: default avatarScot Doyle <lkml14@scotdoyle.com>
Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/alpine.LNX.2.11.1408241710070.6462@localhost.localdomainSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent 35b123e2
...@@ -280,9 +280,11 @@ do { \ ...@@ -280,9 +280,11 @@ do { \
* wake_up() has to be called after changing any variable that could * wake_up() has to be called after changing any variable that could
* change the result of the wait condition. * change the result of the wait condition.
* *
* The function returns 0 if the @timeout elapsed, or the remaining * Returns:
* jiffies (at least 1) if the @condition evaluated to %true before * 0 if the @condition evaluated to %false after the @timeout elapsed,
* the @timeout elapsed. * 1 if the @condition evaluated to %true after the @timeout elapsed,
* or the remaining jiffies (at least 1) if the @condition evaluated
* to %true before the @timeout elapsed.
*/ */
#define wait_event_timeout(wq, condition, timeout) \ #define wait_event_timeout(wq, condition, timeout) \
({ \ ({ \
...@@ -363,9 +365,11 @@ do { \ ...@@ -363,9 +365,11 @@ do { \
* change the result of the wait condition. * change the result of the wait condition.
* *
* Returns: * Returns:
* 0 if the @timeout elapsed, -%ERESTARTSYS if it was interrupted by * 0 if the @condition evaluated to %false after the @timeout elapsed,
* a signal, or the remaining jiffies (at least 1) if the @condition * 1 if the @condition evaluated to %true after the @timeout elapsed,
* evaluated to %true before the @timeout elapsed. * the remaining jiffies (at least 1) if the @condition evaluated
* to %true before the @timeout elapsed, or -%ERESTARTSYS if it was
* interrupted by a signal.
*/ */
#define wait_event_interruptible_timeout(wq, condition, timeout) \ #define wait_event_interruptible_timeout(wq, condition, timeout) \
({ \ ({ \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment