aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/kernel/signal.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/um/kernel/signal.c')
-rw-r--r--arch/um/kernel/signal.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/arch/um/kernel/signal.c b/arch/um/kernel/signal.c
index fb12f4c5e649..187118fbe1bc 100644
--- a/arch/um/kernel/signal.c
+++ b/arch/um/kernel/signal.c
@@ -29,9 +29,6 @@ static int handle_signal(struct pt_regs *regs, unsigned long signr,
29 unsigned long sp; 29 unsigned long sp;
30 int err; 30 int err;
31 31
32 /* Always make any pending restarted system calls return -EINTR */
33 current_thread_info()->restart_block.fn = do_no_restart_syscall;
34
35 /* Did we come from a system call? */ 32 /* Did we come from a system call? */
36 if (PT_REGS_SYSCALL_NR(regs) >= 0) { 33 if (PT_REGS_SYSCALL_NR(regs) >= 0) {
37 /* If so, check system call restarting.. */ 34 /* If so, check system call restarting.. */
@@ -77,15 +74,14 @@ static int kern_do_signal(struct pt_regs *regs)
77{ 74{
78 struct k_sigaction ka_copy; 75 struct k_sigaction ka_copy;
79 siginfo_t info; 76 siginfo_t info;
80 sigset_t *oldset;
81 int sig, handled_sig = 0; 77 int sig, handled_sig = 0;
82 78
83 if (test_thread_flag(TIF_RESTORE_SIGMASK))
84 oldset = &current->saved_sigmask;
85 else
86 oldset = &current->blocked;
87
88 while ((sig = get_signal_to_deliver(&info, &ka_copy, regs, NULL)) > 0) { 79 while ((sig = get_signal_to_deliver(&info, &ka_copy, regs, NULL)) > 0) {
80 sigset_t *oldset;
81 if (test_thread_flag(TIF_RESTORE_SIGMASK))
82 oldset = &current->saved_sigmask;
83 else
84 oldset = &current->blocked;
89 handled_sig = 1; 85 handled_sig = 1;
90 /* Whee! Actually deliver the signal. */ 86 /* Whee! Actually deliver the signal. */
91 if (!handle_signal(regs, sig, &ka_copy, &info, oldset)) { 87 if (!handle_signal(regs, sig, &ka_copy, &info, oldset)) {