diff options
Diffstat (limited to 'arch/sparc/kernel/signal_64.c')
-rw-r--r-- | arch/sparc/kernel/signal_64.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/arch/sparc/kernel/signal_64.c b/arch/sparc/kernel/signal_64.c index f0836cd0e2f2..d8a67e60be80 100644 --- a/arch/sparc/kernel/signal_64.c +++ b/arch/sparc/kernel/signal_64.c | |||
@@ -479,18 +479,14 @@ static inline int handle_signal(unsigned long signr, struct k_sigaction *ka, | |||
479 | siginfo_t *info, | 479 | siginfo_t *info, |
480 | sigset_t *oldset, struct pt_regs *regs) | 480 | sigset_t *oldset, struct pt_regs *regs) |
481 | { | 481 | { |
482 | sigset_t blocked; | ||
483 | int err; | 482 | int err; |
484 | 483 | ||
485 | err = setup_rt_frame(ka, regs, signr, oldset, | 484 | err = setup_rt_frame(ka, regs, signr, oldset, |
486 | (ka->sa.sa_flags & SA_SIGINFO) ? info : NULL); | 485 | (ka->sa.sa_flags & SA_SIGINFO) ? info : NULL); |
487 | if (err) | 486 | if (err) |
488 | return err; | 487 | return err; |
489 | sigorsets(&blocked, ¤t->blocked, &ka->sa.sa_mask); | ||
490 | if (!(ka->sa.sa_flags & SA_NOMASK)) | ||
491 | sigaddset(&blocked, signr); | ||
492 | set_current_blocked(&blocked); | ||
493 | 488 | ||
489 | block_sigmask(ka, signr); | ||
494 | tracehook_signal_handler(signr, info, ka, regs, 0); | 490 | tracehook_signal_handler(signr, info, ka, regs, 0); |
495 | 491 | ||
496 | return 0; | 492 | return 0; |