diff options
-rw-r--r-- | kernel/signal.c | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/kernel/signal.c b/kernel/signal.c index 90e2efad33a..2124ffadcfd 100644 --- a/kernel/signal.c +++ b/kernel/signal.c | |||
@@ -2294,15 +2294,6 @@ int do_sigaction(int sig, struct k_sigaction *act, struct k_sigaction *oact) | |||
2294 | k = ¤t->sighand->action[sig-1]; | 2294 | k = ¤t->sighand->action[sig-1]; |
2295 | 2295 | ||
2296 | spin_lock_irq(¤t->sighand->siglock); | 2296 | spin_lock_irq(¤t->sighand->siglock); |
2297 | if (signal_pending(current)) { | ||
2298 | /* | ||
2299 | * If there might be a fatal signal pending on multiple | ||
2300 | * threads, make sure we take it before changing the action. | ||
2301 | */ | ||
2302 | spin_unlock_irq(¤t->sighand->siglock); | ||
2303 | return -ERESTARTNOINTR; | ||
2304 | } | ||
2305 | |||
2306 | if (oact) | 2297 | if (oact) |
2307 | *oact = *k; | 2298 | *oact = *k; |
2308 | 2299 | ||