|
@@ -574,13 +574,12 @@ static inline void handle_signal(unsigned long signr, struct k_sigaction *ka,
|
|
|
{
|
|
|
setup_rt_frame(ka, regs, signr, oldset,
|
|
|
(ka->sa.sa_flags & SA_SIGINFO) ? info : NULL);
|
|
|
- if (!(ka->sa.sa_flags & SA_NOMASK)) {
|
|
|
- spin_lock_irq(¤t->sighand->siglock);
|
|
|
- sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask);
|
|
|
+ spin_lock_irq(¤t->sighand->siglock);
|
|
|
+ sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask);
|
|
|
+ if (!(ka->sa.sa_flags & SA_NOMASK))
|
|
|
sigaddset(¤t->blocked,signr);
|
|
|
- recalc_sigpending();
|
|
|
- spin_unlock_irq(¤t->sighand->siglock);
|
|
|
- }
|
|
|
+ recalc_sigpending();
|
|
|
+ spin_unlock_irq(¤t->sighand->siglock);
|
|
|
}
|
|
|
|
|
|
static inline void syscall_restart(unsigned long orig_i0, struct pt_regs *regs,
|