aboutsummaryrefslogtreecommitdiffstats
path: root/arch/unicore32
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-04-26 18:17:28 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-05-22 00:01:09 -0400
commit415d04d08fec74b226c92c1fb54ad117c9c6bac4 (patch)
tree75abbdd83cf3e20b92866e4981ecb27c44dc7e7d /arch/unicore32
parenta53bb24e7666870bbc195e295a936aa0a58ce313 (diff)
unicore32: if there's no handler we need to restore sigmask, syscall or no syscall
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/unicore32')
-rw-r--r--arch/unicore32/kernel/signal.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/arch/unicore32/kernel/signal.c b/arch/unicore32/kernel/signal.c
index 72d953190419..7754df6ef7d4 100644
--- a/arch/unicore32/kernel/signal.c
+++ b/arch/unicore32/kernel/signal.c
@@ -447,15 +447,12 @@ static void do_signal(struct pt_regs *regs, int syscall)
447 regs->UCreg_00 == -ERESTARTNOINTR) { 447 regs->UCreg_00 == -ERESTARTNOINTR) {
448 setup_syscall_restart(regs); 448 setup_syscall_restart(regs);
449 } 449 }
450
451 /* If there's no signal to deliver, we just put the saved
452 * sigmask back.
453 */
454 if (test_thread_flag(TIF_RESTORE_SIGMASK)) {
455 clear_thread_flag(TIF_RESTORE_SIGMASK);
456 sigprocmask(SIG_SETMASK, &current->saved_sigmask, NULL);
457 }
458 } 450 }
451 /* If there's no signal to deliver, we just put the saved
452 * sigmask back.
453 */
454 if (test_and_clear_thread_flag(TIF_RESTORE_SIGMASK))
455 set_current_blocked(&current->saved_sigmask);
459} 456}
460 457
461asmlinkage void do_notify_resume(struct pt_regs *regs, 458asmlinkage void do_notify_resume(struct pt_regs *regs,