aboutsummaryrefslogtreecommitdiffstats
path: root/arch/cris/arch-v10/kernel/signal.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/cris/arch-v10/kernel/signal.c')
-rw-r--r--arch/cris/arch-v10/kernel/signal.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/arch/cris/arch-v10/kernel/signal.c b/arch/cris/arch-v10/kernel/signal.c
index 289c584ba49..170f4970d59 100644
--- a/arch/cris/arch-v10/kernel/signal.c
+++ b/arch/cris/arch-v10/kernel/signal.c
@@ -48,19 +48,11 @@ void do_signal(int canrestart, struct pt_regs *regs);
48 * dummy arguments to be able to reach the regs argument. (Note that this 48 * dummy arguments to be able to reach the regs argument. (Note that this
49 * arrangement relies on old_sigset_t occupying one register.) 49 * arrangement relies on old_sigset_t occupying one register.)
50 */ 50 */
51int sys_sigsuspend(old_sigset_t mask, long r11, long r12, long r13, long mof, 51int sys_sigsuspend(old_sigset_t mask)
52 long srp, struct pt_regs *regs)
53{ 52{
54 mask &= _BLOCKABLE; 53 sigset_t blocked;
55 spin_lock_irq(&current->sighand->siglock); 54 siginitset(&blocked, mask);
56 current->saved_sigmask = current->blocked; 55 return sigsuspend(&blocked);
57 siginitset(&current->blocked, mask);
58 recalc_sigpending();
59 spin_unlock_irq(&current->sighand->siglock);
60 current->state = TASK_INTERRUPTIBLE;
61 schedule();
62 set_thread_flag(TIF_RESTORE_SIGMASK);
63 return -ERESTARTNOHAND;
64} 56}
65 57
66int sys_sigaction(int sig, const struct old_sigaction __user *act, 58int sys_sigaction(int sig, const struct old_sigaction __user *act,