aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel/signal.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/kernel/signal.c')
-rw-r--r--arch/mips/kernel/signal.c18
1 files changed, 3 insertions, 15 deletions
diff --git a/arch/mips/kernel/signal.c b/arch/mips/kernel/signal.c
index 18355060f241..53c6e90082f0 100644
--- a/arch/mips/kernel/signal.c
+++ b/arch/mips/kernel/signal.c
@@ -514,7 +514,7 @@ struct mips_abi mips_abi = {
514 .restart = __NR_restart_syscall 514 .restart = __NR_restart_syscall
515}; 515};
516 516
517static int handle_signal(unsigned long sig, siginfo_t *info, 517static void handle_signal(unsigned long sig, siginfo_t *info,
518 struct k_sigaction *ka, struct pt_regs *regs) 518 struct k_sigaction *ka, struct pt_regs *regs)
519{ 519{
520 sigset_t *oldset = sigmask_to_save(); 520 sigset_t *oldset = sigmask_to_save();
@@ -551,11 +551,9 @@ static int handle_signal(unsigned long sig, siginfo_t *info,
551 ka, regs, sig, oldset); 551 ka, regs, sig, oldset);
552 552
553 if (ret) 553 if (ret)
554 return ret; 554 return;
555 555
556 block_sigmask(ka, sig); 556 block_sigmask(ka, sig);
557
558 return ret;
559} 557}
560 558
561static void do_signal(struct pt_regs *regs) 559static void do_signal(struct pt_regs *regs)
@@ -575,17 +573,7 @@ static void do_signal(struct pt_regs *regs)
575 signr = get_signal_to_deliver(&info, &ka, regs, NULL); 573 signr = get_signal_to_deliver(&info, &ka, regs, NULL);
576 if (signr > 0) { 574 if (signr > 0) {
577 /* Whee! Actually deliver the signal. */ 575 /* Whee! Actually deliver the signal. */
578 if (handle_signal(signr, &info, &ka, regs) == 0) { 576 handle_signal(signr, &info, &ka, regs);
579 /*
580 * A signal was successfully delivered; the saved
581 * sigmask will have been stored in the signal frame,
582 * and will be restored by sigreturn, so we can simply
583 * clear the TIF_RESTORE_SIGMASK flag.
584 */
585 if (test_thread_flag(TIF_RESTORE_SIGMASK))
586 clear_thread_flag(TIF_RESTORE_SIGMASK);
587 }
588
589 return; 577 return;
590 } 578 }
591 579