patch-2.3.9 linux/arch/mips/kernel/signal.c

Next file: linux/arch/mips/kernel/softfp.S
Previous file: linux/arch/mips/kernel/setup.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.8/linux/arch/mips/kernel/signal.c linux/arch/mips/kernel/signal.c
@@ -1,4 +1,4 @@
-/* $Id: signal.c,v 1.24 1998/09/16 22:50:42 ralf Exp $
+/* $Id: signal.c,v 1.19 1999/06/17 13:25:47 ralf Exp $
  *
  *  linux/arch/mips/kernel/signal.c
  *
@@ -392,6 +392,7 @@
 		}
 	/* fallthrough */
 	case ERESTARTNOINTR:		/* Userland will reload $v0.  */
+		regs->regs[7] = regs->regs[26];
 		regs->cp0_epc -= 8;
 	}
 
@@ -491,6 +492,7 @@
 
 			case SIGQUIT: case SIGILL: case SIGTRAP:
 			case SIGABRT: case SIGFPE: case SIGSEGV:
+			case SIGBUS:
 				lock_kernel();
 				if (current->binfmt
 				    && current->binfmt->core_dump
@@ -502,6 +504,7 @@
 			default:
 				lock_kernel();
 				sigaddset(&current->signal, signr);
+				recalc_sigpending(current);
 				current->flags |= PF_SIGNALED;
 				do_exit(exit_code);
 				/* NOTREACHED */
@@ -524,6 +527,7 @@
 		if (regs->regs[2] == ERESTARTNOHAND ||
 		    regs->regs[2] == ERESTARTSYS ||
 		    regs->regs[2] == ERESTARTNOINTR) {
+			regs->regs[7] = regs->regs[26];
 			regs->cp0_epc -= 8;
 		}
 	}

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)