summaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/signal.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-05-22 05:33:55 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2012-06-01 18:58:47 +0200
commit51a7b448d4134e3e8eec633435e3e8faee14a828 (patch)
tree8fc58560ffee1c944ec5e198029d5c2e6f7c0bd3 /arch/s390/kernel/signal.c
parentnew helpers: {clear,test,test_and_clear}_restore_sigmask() (diff)
downloadlinux-51a7b448d4134e3e8eec633435e3e8faee14a828.tar.xz
linux-51a7b448d4134e3e8eec633435e3e8faee14a828.zip
new helper: restore_saved_sigmask()
first fruits of ..._restore_sigmask() helpers: now we can take boilerplate "signal didn't have a handler, clear RESTORE_SIGMASK and restore the blocked mask from ->saved_mask" into a common helper. Open-coded instances switched... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/s390/kernel/signal.c')
-rw-r--r--arch/s390/kernel/signal.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/arch/s390/kernel/signal.c b/arch/s390/kernel/signal.c
index 42a6e8b47f06..37799089c38e 100644
--- a/arch/s390/kernel/signal.c
+++ b/arch/s390/kernel/signal.c
@@ -484,10 +484,7 @@ void do_signal(struct pt_regs *regs)
/*
* If there's no signal to deliver, we just put the saved sigmask back.
*/
- if (test_thread_flag(TIF_RESTORE_SIGMASK)) {
- clear_thread_flag(TIF_RESTORE_SIGMASK);
- sigprocmask(SIG_SETMASK, &current->saved_sigmask, NULL);
- }
+ restore_saved_sigmask();
}
void do_notify_resume(struct pt_regs *regs)