diff options
Diffstat (limited to 'arch/sparc/kernel/signal_32.c')
-rw-r--r-- | arch/sparc/kernel/signal_32.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/arch/sparc/kernel/signal_32.c b/arch/sparc/kernel/signal_32.c index d54c6e53aba0..7bb71b6fbd20 100644 --- a/arch/sparc/kernel/signal_32.c +++ b/arch/sparc/kernel/signal_32.c | |||
@@ -465,7 +465,6 @@ static inline int | |||
465 | handle_signal(unsigned long signr, struct k_sigaction *ka, | 465 | handle_signal(unsigned long signr, struct k_sigaction *ka, |
466 | siginfo_t *info, sigset_t *oldset, struct pt_regs *regs) | 466 | siginfo_t *info, sigset_t *oldset, struct pt_regs *regs) |
467 | { | 467 | { |
468 | sigset_t blocked; | ||
469 | int err; | 468 | int err; |
470 | 469 | ||
471 | if (ka->sa.sa_flags & SA_SIGINFO) | 470 | if (ka->sa.sa_flags & SA_SIGINFO) |
@@ -476,11 +475,7 @@ handle_signal(unsigned long signr, struct k_sigaction *ka, | |||
476 | if (err) | 475 | if (err) |
477 | return err; | 476 | return err; |
478 | 477 | ||
479 | sigorsets(&blocked, ¤t->blocked, &ka->sa.sa_mask); | 478 | block_sigmask(ka, signr); |
480 | if (!(ka->sa.sa_flags & SA_NOMASK)) | ||
481 | sigaddset(&blocked, signr); | ||
482 | set_current_blocked(&blocked); | ||
483 | |||
484 | tracehook_signal_handler(signr, info, ka, regs, 0); | 479 | tracehook_signal_handler(signr, info, ka, regs, 0); |
485 | 480 | ||
486 | return 0; | 481 | return 0; |