diff options
author | Peter Zijlstra <peterz@infradead.org> | 2013-10-02 05:22:24 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2013-10-04 04:14:48 -0400 |
commit | f13f4c41c9cf9cd61c896e46e4e7ba2687e2af9c (patch) | |
tree | 7eb3139fbc026887c39b1b52252cfa50ad5d9b8a /include/linux/wait.h | |
parent | ddc1994b8217527e1818f690f17597fc9cedf81b (diff) |
sched/wait: Collapse __wait_event_interruptible()
Reduce macro complexity by using the new ___wait_event() helper.
No change in behaviour, identical generated code.
Reviewed-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20131002092528.396949919@infradead.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/linux/wait.h')
-rw-r--r-- | include/linux/wait.h | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/include/linux/wait.h b/include/linux/wait.h index 546b94efc82e..39e4bbd2c735 100644 --- a/include/linux/wait.h +++ b/include/linux/wait.h | |||
@@ -277,21 +277,8 @@ do { \ | |||
277 | }) | 277 | }) |
278 | 278 | ||
279 | #define __wait_event_interruptible(wq, condition, ret) \ | 279 | #define __wait_event_interruptible(wq, condition, ret) \ |
280 | do { \ | 280 | ___wait_event(wq, condition, TASK_INTERRUPTIBLE, 0, ret, \ |
281 | DEFINE_WAIT(__wait); \ | 281 | schedule()) |
282 | \ | ||
283 | for (;;) { \ | ||
284 | prepare_to_wait(&wq, &__wait, TASK_INTERRUPTIBLE); \ | ||
285 | if (condition) \ | ||
286 | break; \ | ||
287 | if (signal_pending(current)) { \ | ||
288 | ret = -ERESTARTSYS; \ | ||
289 | break; \ | ||
290 | } \ | ||
291 | schedule(); \ | ||
292 | } \ | ||
293 | finish_wait(&wq, &__wait); \ | ||
294 | } while (0) | ||
295 | 282 | ||
296 | /** | 283 | /** |
297 | * wait_event_interruptible - sleep until a condition gets true | 284 | * wait_event_interruptible - sleep until a condition gets true |