diff options
Diffstat (limited to 'arch/mn10300/kernel/signal.c')
| -rw-r--r-- | arch/mn10300/kernel/signal.c | 14 | 
1 files changed, 3 insertions, 11 deletions
diff --git a/arch/mn10300/kernel/signal.c b/arch/mn10300/kernel/signal.c index 690f4e9507d..50eb94a0582 100644 --- a/arch/mn10300/kernel/signal.c +++ b/arch/mn10300/kernel/signal.c @@ -38,17 +38,9 @@   */  asmlinkage long 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);  }  /*  |