aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
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)) {