]> Pileus Git - ~andy/linux/blobdiff - arch/powerpc/kernel/signal.c
ath6kl: fix fw capability parsing
[~andy/linux] / arch / powerpc / kernel / signal.c
index ac6e437b10214d47b6d6525cc9d23b8b3e37dabe..7006b7f4267a7b7c3fa9337319c16f1556ceaac8 100644 (file)
@@ -57,10 +57,7 @@ void __user * get_sigframe(struct k_sigaction *ka, struct pt_regs *regs,
 void restore_sigmask(sigset_t *set)
 {
        sigdelsetmask(set, ~_BLOCKABLE);
-       spin_lock_irq(&current->sighand->siglock);
-       current->blocked = *set;
-       recalc_sigpending();
-       spin_unlock_irq(&current->sighand->siglock);
+       set_current_blocked(set);
 }
 
 static void check_syscall_restart(struct pt_regs *regs, struct k_sigaction *ka,
@@ -169,13 +166,7 @@ static int do_signal(struct pt_regs *regs)
 
        regs->trap = 0;
        if (ret) {
-               spin_lock_irq(&current->sighand->siglock);
-               sigorsets(&current->blocked, &current->blocked,
-                         &ka.sa.sa_mask);
-               if (!(ka.sa.sa_flags & SA_NODEFER))
-                       sigaddset(&current->blocked, signr);
-               recalc_sigpending();
-               spin_unlock_irq(&current->sighand->siglock);
+               block_sigmask(&ka, signr);
 
                /*
                 * A signal was successfully delivered; the saved sigmask is in