]> git.karo-electronics.de Git - linux-beck.git/commitdiff
sched: do_wait_for_common: use signal_pending_state()
authorOleg Nesterov <oleg@tv-sign.ru>
Wed, 20 Aug 2008 23:54:41 +0000 (16:54 -0700)
committerIngo Molnar <mingo@elte.hu>
Fri, 22 Aug 2008 13:17:28 +0000 (15:17 +0200)
Change do_wait_for_common() to use signal_pending_state() instead of open
coding.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/sched.c

index d601fb0406caefd39cb4eaf2dca25105f2ce3f0c..da7c5d23cc03906bc419164b5a1e47f518df1cdf 100644 (file)
@@ -4599,10 +4599,7 @@ do_wait_for_common(struct completion *x, long timeout, int state)
                wait.flags |= WQ_FLAG_EXCLUSIVE;
                __add_wait_queue_tail(&x->wait, &wait);
                do {
-                       if ((state == TASK_INTERRUPTIBLE &&
-                            signal_pending(current)) ||
-                           (state == TASK_KILLABLE &&
-                            fatal_signal_pending(current))) {
+                       if (signal_pending_state(state, current)) {
                                timeout = -ERESTARTSYS;
                                break;
                        }