[PATCH] __down_common: use signal_pending_state()

From: Oleg Nesterov
Date: Thu Jul 24 2008 - 12:31:52 EST


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

The changes in kernel/semaphore.o are just artefacts, the state checks
are optimized away.

Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>

--- 26-rc2/kernel/semaphore.c~2_SPS_DOWN 2008-06-08 17:25:01.000000000 +0400
+++ 26-rc2/kernel/semaphore.c 2008-07-24 20:17:47.000000000 +0400
@@ -211,9 +211,7 @@ static inline int __sched __down_common(
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;

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/