Commit 5b2becc8 authored by Oleg Nesterov's avatar Oleg Nesterov Committed by Linus Torvalds

semaphore: __down_common: use signal_pending_state()

Change __down_common() to use signal_pending_state() instead of open
coding.

The changes in kernel/semaphore.o are just artifacts, the state checks are
optimized away.
Signed-off-by: default avatarOleg Nesterov <oleg@tv-sign.ru>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Matthew Wilcox <matthew@wil.cx>
Cc: Roland McGrath <roland@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 32194450
...@@ -212,9 +212,7 @@ static inline int __sched __down_common(struct semaphore *sem, long state, ...@@ -212,9 +212,7 @@ static inline int __sched __down_common(struct semaphore *sem, long state,
waiter.up = 0; waiter.up = 0;
for (;;) { for (;;) {
if (state == TASK_INTERRUPTIBLE && signal_pending(task)) if (signal_pending_state(state, task))
goto interrupted;
if (state == TASK_KILLABLE && fatal_signal_pending(task))
goto interrupted; goto interrupted;
if (timeout <= 0) if (timeout <= 0)
goto timed_out; goto timed_out;
......
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