diff options
| author | Al Viro <viro@zeniv.linux.org.uk> | 2012-05-21 23:33:55 -0400 | 
|---|---|---|
| committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-06-01 12:58:47 -0400 | 
| commit | 51a7b448d4134e3e8eec633435e3e8faee14a828 (patch) | |
| tree | 8fc58560ffee1c944ec5e198029d5c2e6f7c0bd3 /arch/sparc/kernel | |
| parent | 4ebefe3ec729003443daf153ed6fad1739271283 (diff) | |
| download | olio-linux-3.10-51a7b448d4134e3e8eec633435e3e8faee14a828.tar.xz olio-linux-3.10-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/sparc/kernel')
| -rw-r--r-- | arch/sparc/kernel/signal32.c | 5 | ||||
| -rw-r--r-- | arch/sparc/kernel/signal_32.c | 5 | ||||
| -rw-r--r-- | arch/sparc/kernel/signal_64.c | 5 | 
3 files changed, 3 insertions, 12 deletions
diff --git a/arch/sparc/kernel/signal32.c b/arch/sparc/kernel/signal32.c index bb1513e45f1..88e0d8122d2 100644 --- a/arch/sparc/kernel/signal32.c +++ b/arch/sparc/kernel/signal32.c @@ -872,10 +872,7 @@ void do_signal32(sigset_t *oldset, struct pt_regs * regs)  	/* If there's no signal to deliver, we just put the saved sigmask  	 * back  	 */ -	if (current_thread_info()->status & TS_RESTORE_SIGMASK) { -		current_thread_info()->status &= ~TS_RESTORE_SIGMASK; -		set_current_blocked(¤t->saved_sigmask); -	} +	restore_saved_sigmask();  }  struct sigstack32 { diff --git a/arch/sparc/kernel/signal_32.c b/arch/sparc/kernel/signal_32.c index 6b42e8622d1..9dd97d2e171 100644 --- a/arch/sparc/kernel/signal_32.c +++ b/arch/sparc/kernel/signal_32.c @@ -576,10 +576,7 @@ static void do_signal(struct pt_regs *regs, unsigned long orig_i0)  	/* 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); -		set_current_blocked(¤t->saved_sigmask); -	} +	restore_saved_sigmask();  }  void do_notify_resume(struct pt_regs *regs, unsigned long orig_i0, diff --git a/arch/sparc/kernel/signal_64.c b/arch/sparc/kernel/signal_64.c index c82cf1cc396..55b820ee0ac 100644 --- a/arch/sparc/kernel/signal_64.c +++ b/arch/sparc/kernel/signal_64.c @@ -594,10 +594,7 @@ static void do_signal(struct pt_regs *regs, unsigned long orig_i0)  	/* If there's no signal to deliver, we just put the saved sigmask  	 * back  	 */ -	if (current_thread_info()->status & TS_RESTORE_SIGMASK) { -		current_thread_info()->status &= ~TS_RESTORE_SIGMASK; -		set_current_blocked(¤t->saved_sigmask); -	} +	restore_saved_sigmask();  }  void do_notify_resume(struct pt_regs *regs, unsigned long orig_i0, unsigned long thread_info_flags)  |