diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-04-26 18:15:11 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-05-21 14:36:45 -0400 |
commit | 7dfae72027cd8345247e675a3b27439df95fe06e (patch) | |
tree | 6eee45a43ec71e1d62e89a6a37e32e4c340f8125 /arch/arm | |
parent | 84849b3ed8081e9e2eb0e441c699eda807853cb6 (diff) |
arm: 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/arm')
-rw-r--r-- | arch/arm/kernel/signal.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c index d554025dbcbc..a6c4e780ec7a 100644 --- a/arch/arm/kernel/signal.c +++ b/arch/arm/kernel/signal.c | |||
@@ -715,15 +715,13 @@ static void do_signal(struct pt_regs *regs, int syscall) | |||
715 | #endif | 715 | #endif |
716 | } | 716 | } |
717 | } | 717 | } |
718 | |||
719 | /* If there's no signal to deliver, we just put the saved sigmask | ||
720 | * back. | ||
721 | */ | ||
722 | if (test_thread_flag(TIF_RESTORE_SIGMASK)) { | ||
723 | clear_thread_flag(TIF_RESTORE_SIGMASK); | ||
724 | sigprocmask(SIG_SETMASK, ¤t->saved_sigmask, NULL); | ||
725 | } | ||
726 | } | 718 | } |
719 | |||
720 | /* If there's no signal to deliver, we just put the saved sigmask | ||
721 | * back. | ||
722 | */ | ||
723 | if (test_and_clear_thread_flag(TIF_RESTORE_SIGMASK)) | ||
724 | set_current_blocked(¤t->saved_sigmask); | ||
727 | } | 725 | } |
728 | 726 | ||
729 | asmlinkage void | 727 | asmlinkage void |