From: Oleg Nesterov Date: Wed, 30 Apr 2008 07:53:00 +0000 (-0700) Subject: signals: send_signal: be paranoid about signalfd_notify() X-Git-Tag: v2.6.26-rc1~279 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;ds=sidebyside;h=53c30337f2c61aff6eecf2a446e839641172f9bd;p=karo-tx-linux.git signals: send_signal: be paranoid about signalfd_notify() 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 Acked-by: Davide Libenzi Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/kernel/signal.c b/kernel/signal.c index 8423867f7d8f..251cc13720bd 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -772,13 +772,6 @@ static int send_signal(int sig, struct siginfo *info, struct task_struct *t, */ 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. @@ -828,6 +821,7 @@ static int send_signal(int sig, struct siginfo *info, struct task_struct *t, } out_set: + signalfd_notify(t, sig); sigaddset(&pending->signal, sig); complete_signal(sig, t, group); return 0;