aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2005-11-13 19:07:14 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2005-11-13 21:14:15 -0500
commitb17b0421d70f5b85a791afe145a16d5ca5f849aa (patch)
tree0aca6753added9c76681d6eb63294a1943597dd9 /kernel
parentba260e23efbabcff975f60401475c2bdd693f872 (diff)
[PATCH] signal handling: revert sigkill priority fix
This patch reverts commit c33880aaddbbab1ccf36f4457ed1090621f2e39a since it's not needed anymore. As pointed out by Roland McGrath the real fix is to deliver all signals before returning to user space. See http://www.ussg.iu.edu/hypermail/linux/kernel/0509.2/0683.html A fix for s390 has been merged. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Roland McGrath <roland@redhat.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/signal.c11
1 files changed, 1 insertions, 10 deletions
diff --git a/kernel/signal.c b/kernel/signal.c
index 80789a59b4db..d7611f189ef7 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -513,16 +513,7 @@ static int __dequeue_signal(struct sigpending *pending, sigset_t *mask,
513{ 513{
514 int sig = 0; 514 int sig = 0;
515 515
516 /* SIGKILL must have priority, otherwise it is quite easy 516 sig = next_signal(pending, mask);
517 * to create an unkillable process, sending sig < SIGKILL
518 * to self */
519 if (unlikely(sigismember(&pending->signal, SIGKILL))) {
520 if (!sigismember(mask, SIGKILL))
521 sig = SIGKILL;
522 }
523
524 if (likely(!sig))
525 sig = next_signal(pending, mask);
526 if (sig) { 517 if (sig) {
527 if (current->notifier) { 518 if (current->notifier) {
528 if (sigismember(current->notifier_mask, sig)) { 519 if (sigismember(current->notifier_mask, sig)) {