diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/signal.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/signal.c b/kernel/signal.c index 9ca8e5278c8e..5424cb0006bc 100644 --- a/kernel/signal.c +++ b/kernel/signal.c | |||
| @@ -2393,6 +2393,11 @@ relock: | |||
| 2393 | goto relock; | 2393 | goto relock; |
| 2394 | } | 2394 | } |
| 2395 | 2395 | ||
| 2396 | /* Has this task already been marked for death? */ | ||
| 2397 | ksig->info.si_signo = signr = SIGKILL; | ||
| 2398 | if (signal_group_exit(signal)) | ||
| 2399 | goto fatal; | ||
| 2400 | |||
| 2396 | for (;;) { | 2401 | for (;;) { |
| 2397 | struct k_sigaction *ka; | 2402 | struct k_sigaction *ka; |
| 2398 | 2403 | ||
| @@ -2488,6 +2493,7 @@ relock: | |||
| 2488 | continue; | 2493 | continue; |
| 2489 | } | 2494 | } |
| 2490 | 2495 | ||
| 2496 | fatal: | ||
| 2491 | spin_unlock_irq(&sighand->siglock); | 2497 | spin_unlock_irq(&sighand->siglock); |
| 2492 | 2498 | ||
| 2493 | /* | 2499 | /* |
