X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=kernel%2Fsemaphore.c;h=94a62c0d4ade651b8c4e2a5c7cbb8ff26110738f;hb=28ecd58020409be8eb176c716f957fc3386fa2fa;hp=aaaeae8244e77aa7dffd26ff935e7e3260c58a97;hpb=9b610fda0df5d0f0b0c64242e37441ad1b384aac;p=~andy%2Flinux diff --git a/kernel/semaphore.c b/kernel/semaphore.c index aaaeae8244e..94a62c0d4ad 100644 --- a/kernel/semaphore.c +++ b/kernel/semaphore.c @@ -212,9 +212,7 @@ static inline int __sched __down_common(struct semaphore *sem, long state, waiter.up = 0; for (;;) { - if (state == TASK_INTERRUPTIBLE && signal_pending(task)) - goto interrupted; - if (state == TASK_KILLABLE && fatal_signal_pending(task)) + if (signal_pending_state(state, task)) goto interrupted; if (timeout <= 0) goto timed_out;