summaryrefslogtreecommitdiffstats
path: root/arch/um
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-05-21 23:33:55 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-06-01 12:58:47 -0400
commit51a7b448d4134e3e8eec633435e3e8faee14a828 (patch)
tree8fc58560ffee1c944ec5e198029d5c2e6f7c0bd3 /arch/um
parent4ebefe3ec729003443daf153ed6fad1739271283 (diff)
downloadlinux-51a7b448d4134e3e8eec633435e3e8faee14a828.tar.gz
linux-51a7b448d4134e3e8eec633435e3e8faee14a828.tar.bz2
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/um')
-rw-r--r--arch/um/kernel/signal.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/um/kernel/signal.c b/arch/um/kernel/signal.c
index 292e706016c5..6acf13c1740b 100644
--- a/arch/um/kernel/signal.c
+++ b/arch/um/kernel/signal.c
@@ -130,10 +130,8 @@ static int kern_do_signal(struct pt_regs *regs)
* if there's no signal to deliver, we just put the saved sigmask
* back
*/
- if (!handled_sig && test_thread_flag(TIF_RESTORE_SIGMASK)) {
- clear_thread_flag(TIF_RESTORE_SIGMASK);
- sigprocmask(SIG_SETMASK, &current->saved_sigmask, NULL);
- }
+ if (!handled_sig)
+ restore_saved_sigmask();
return handled_sig;
}