Loading arch/alpha/kernel/signal.c +1 −10 Original line number Diff line number Diff line Loading @@ -121,17 +121,8 @@ SYSCALL_DEFINE5(rt_sigaction, int, sig, const struct sigaction __user *, act, SYSCALL_DEFINE1(sigsuspend, old_sigset_t, mask) { sigset_t blocked; current->saved_sigmask = current->blocked; mask &= _BLOCKABLE; siginitset(&blocked, mask); set_current_blocked(&blocked); current->state = TASK_INTERRUPTIBLE; schedule(); set_thread_flag(TIF_RESTORE_SIGMASK); return -ERESTARTNOHAND; return sigsuspend(&blocked); } asmlinkage int Loading arch/arm/kernel/signal.c +1 −10 Original line number Diff line number Diff line Loading @@ -67,17 +67,8 @@ const unsigned long syscall_restart_code[2] = { asmlinkage int sys_sigsuspend(int restart, unsigned long oldmask, old_sigset_t mask) { sigset_t blocked; current->saved_sigmask = current->blocked; mask &= _BLOCKABLE; siginitset(&blocked, mask); set_current_blocked(&blocked); current->state = TASK_INTERRUPTIBLE; schedule(); set_restore_sigmask(); return -ERESTARTNOHAND; return sigsuspend(&blocked); } asmlinkage int Loading arch/cris/arch-v10/kernel/signal.c +4 −12 Original line number Diff line number Diff line Loading @@ -48,19 +48,11 @@ void do_signal(int canrestart, struct pt_regs *regs); * dummy arguments to be able to reach the regs argument. (Note that this * arrangement relies on old_sigset_t occupying one register.) */ int sys_sigsuspend(old_sigset_t mask, long r11, long r12, long r13, long mof, long srp, struct pt_regs *regs) int sys_sigsuspend(old_sigset_t mask) { mask &= _BLOCKABLE; spin_lock_irq(¤t->sighand->siglock); current->saved_sigmask = current->blocked; siginitset(¤t->blocked, mask); recalc_sigpending(); spin_unlock_irq(¤t->sighand->siglock); current->state = TASK_INTERRUPTIBLE; schedule(); set_thread_flag(TIF_RESTORE_SIGMASK); return -ERESTARTNOHAND; sigset_t blocked; siginitset(&blocked, mask); return sigsuspend(&blocked); } int sys_sigaction(int sig, const struct old_sigaction __user *act, Loading arch/cris/arch-v32/kernel/signal.c +4 −12 Original line number Diff line number Diff line Loading @@ -59,19 +59,11 @@ void keep_debug_flags(unsigned long oldccs, unsigned long oldspc, * dummy arguments to be able to reach the regs argument. */ int sys_sigsuspend(old_sigset_t mask, long r11, long r12, long r13, long mof, long srp, struct pt_regs *regs) sys_sigsuspend(old_sigset_t mask) { mask &= _BLOCKABLE; spin_lock_irq(¤t->sighand->siglock); current->saved_sigmask = current->blocked; siginitset(¤t->blocked, mask); recalc_sigpending(); spin_unlock_irq(¤t->sighand->siglock); current->state = TASK_INTERRUPTIBLE; schedule(); set_thread_flag(TIF_RESTORE_SIGMASK); return -ERESTARTNOHAND; sigset_t blocked; siginitset(&blocked, mask); return sigsuspend(&blocked); } int Loading arch/frv/kernel/signal.c +3 −11 Original line number Diff line number Diff line Loading @@ -40,17 +40,9 @@ struct fdpic_func_descriptor { */ asmlinkage int sys_sigsuspend(int history0, int history1, old_sigset_t mask) { mask &= _BLOCKABLE; spin_lock_irq(¤t->sighand->siglock); current->saved_sigmask = current->blocked; siginitset(¤t->blocked, mask); recalc_sigpending(); spin_unlock_irq(¤t->sighand->siglock); current->state = TASK_INTERRUPTIBLE; schedule(); set_thread_flag(TIF_RESTORE_SIGMASK); return -ERESTARTNOHAND; sigset_t blocked; siginitset(&blocked, mask); return sigsuspend(&blocked); } asmlinkage int sys_sigaction(int sig, Loading Loading
arch/alpha/kernel/signal.c +1 −10 Original line number Diff line number Diff line Loading @@ -121,17 +121,8 @@ SYSCALL_DEFINE5(rt_sigaction, int, sig, const struct sigaction __user *, act, SYSCALL_DEFINE1(sigsuspend, old_sigset_t, mask) { sigset_t blocked; current->saved_sigmask = current->blocked; mask &= _BLOCKABLE; siginitset(&blocked, mask); set_current_blocked(&blocked); current->state = TASK_INTERRUPTIBLE; schedule(); set_thread_flag(TIF_RESTORE_SIGMASK); return -ERESTARTNOHAND; return sigsuspend(&blocked); } asmlinkage int Loading
arch/arm/kernel/signal.c +1 −10 Original line number Diff line number Diff line Loading @@ -67,17 +67,8 @@ const unsigned long syscall_restart_code[2] = { asmlinkage int sys_sigsuspend(int restart, unsigned long oldmask, old_sigset_t mask) { sigset_t blocked; current->saved_sigmask = current->blocked; mask &= _BLOCKABLE; siginitset(&blocked, mask); set_current_blocked(&blocked); current->state = TASK_INTERRUPTIBLE; schedule(); set_restore_sigmask(); return -ERESTARTNOHAND; return sigsuspend(&blocked); } asmlinkage int Loading
arch/cris/arch-v10/kernel/signal.c +4 −12 Original line number Diff line number Diff line Loading @@ -48,19 +48,11 @@ void do_signal(int canrestart, struct pt_regs *regs); * dummy arguments to be able to reach the regs argument. (Note that this * arrangement relies on old_sigset_t occupying one register.) */ int sys_sigsuspend(old_sigset_t mask, long r11, long r12, long r13, long mof, long srp, struct pt_regs *regs) int sys_sigsuspend(old_sigset_t mask) { mask &= _BLOCKABLE; spin_lock_irq(¤t->sighand->siglock); current->saved_sigmask = current->blocked; siginitset(¤t->blocked, mask); recalc_sigpending(); spin_unlock_irq(¤t->sighand->siglock); current->state = TASK_INTERRUPTIBLE; schedule(); set_thread_flag(TIF_RESTORE_SIGMASK); return -ERESTARTNOHAND; sigset_t blocked; siginitset(&blocked, mask); return sigsuspend(&blocked); } int sys_sigaction(int sig, const struct old_sigaction __user *act, Loading
arch/cris/arch-v32/kernel/signal.c +4 −12 Original line number Diff line number Diff line Loading @@ -59,19 +59,11 @@ void keep_debug_flags(unsigned long oldccs, unsigned long oldspc, * dummy arguments to be able to reach the regs argument. */ int sys_sigsuspend(old_sigset_t mask, long r11, long r12, long r13, long mof, long srp, struct pt_regs *regs) sys_sigsuspend(old_sigset_t mask) { mask &= _BLOCKABLE; spin_lock_irq(¤t->sighand->siglock); current->saved_sigmask = current->blocked; siginitset(¤t->blocked, mask); recalc_sigpending(); spin_unlock_irq(¤t->sighand->siglock); current->state = TASK_INTERRUPTIBLE; schedule(); set_thread_flag(TIF_RESTORE_SIGMASK); return -ERESTARTNOHAND; sigset_t blocked; siginitset(&blocked, mask); return sigsuspend(&blocked); } int Loading
arch/frv/kernel/signal.c +3 −11 Original line number Diff line number Diff line Loading @@ -40,17 +40,9 @@ struct fdpic_func_descriptor { */ asmlinkage int sys_sigsuspend(int history0, int history1, old_sigset_t mask) { mask &= _BLOCKABLE; spin_lock_irq(¤t->sighand->siglock); current->saved_sigmask = current->blocked; siginitset(¤t->blocked, mask); recalc_sigpending(); spin_unlock_irq(¤t->sighand->siglock); current->state = TASK_INTERRUPTIBLE; schedule(); set_thread_flag(TIF_RESTORE_SIGMASK); return -ERESTARTNOHAND; sigset_t blocked; siginitset(&blocked, mask); return sigsuspend(&blocked); } asmlinkage int sys_sigaction(int sig, Loading