[PATCH] signals: send_signal: be paranoid about signalfd_notify()

From: Oleg Nesterov
Date: Wed Mar 12 2008 - 09:18:09 EST


send_signal() shouldn't call signalfd_notify() if it then fails with -EAGAIN.
Harmless, just a paranoid cleanup.

Also remove the comment. It is obsolete, signalfd_notify() was simplified and
does a simple wakeup.

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

--- 25/kernel/signal.c~3_SS_NOTIFY 2008-03-12 15:16:52.000000000 +0300
+++ 25/kernel/signal.c 2008-03-12 15:55:47.000000000 +0300
@@ -769,13 +769,6 @@ static int send_signal(int sig, struct s
*/
if (legacy_queue(pending, sig))
return 0;
-
- /*
- * Deliver the signal to listening signalfds. This must be called
- * with the sighand lock held.
- */
- signalfd_notify(t, sig);
-
/*
* fast-pathed signals for kernel-internal things like SIGSTOP
* or SIGKILL.
@@ -825,6 +818,7 @@ static int send_signal(int sig, struct s
}

out_set:
+ signalfd_notify(t, sig);
sigaddset(&pending->signal, sig);
complete_signal(sig, t, group);
return 0;

--
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/