diff options
-rw-r--r-- | kernel/semaphore.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/kernel/semaphore.c b/kernel/semaphore.c index aaaeae8244e7..94a62c0d4ade 100644 --- a/kernel/semaphore.c +++ b/kernel/semaphore.c | |||
@@ -212,9 +212,7 @@ static inline int __sched __down_common(struct semaphore *sem, long state, | |||
212 | waiter.up = 0; | 212 | waiter.up = 0; |
213 | 213 | ||
214 | for (;;) { | 214 | for (;;) { |
215 | if (state == TASK_INTERRUPTIBLE && signal_pending(task)) | 215 | if (signal_pending_state(state, task)) |
216 | goto interrupted; | ||
217 | if (state == TASK_KILLABLE && fatal_signal_pending(task)) | ||
218 | goto interrupted; | 216 | goto interrupted; |
219 | if (timeout <= 0) | 217 | if (timeout <= 0) |
220 | goto timed_out; | 218 | goto timed_out; |