[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

more bugs :) ignoring(!) SIGCONT



did i post this one yet?  signal (SIGCONT, SIG_IGN), then SIGCONT
would not even wake up the stopped process anymore.

Index: dossig.c
@@ -87,7 +87,12 @@
 	if (act) {
 		ushort flags;
 
-		curproc->sighandle[sig] = act->sa_handler;
+/* ignoring SIGCONT completely makes no sense, it should still wake up
+ * the stopped process... (-> SIG_DFL) */
+		if (sig == SIGCONT && act->sa_handler == SIG_IGN)
+			curproc->sighandle[sig] = SIG_DFL;
+		else
+			curproc->sighandle[sig] = act->sa_handler;
 		curproc->sigextra[sig] = act->sa_mask & ~UNMASKABLE;
 
 /* only the flags in SAUSER can be changed by the user */
@@ -124,6 +129,8 @@
 	if (sig == SIGKILL || sig == SIGSTOP)
 		return EACCDN;
 	oldhandle = curproc->sighandle[sig];
+	if (sig == SIGCONT && handler == SIG_IGN)
+		handler = SIG_DFL;
 	curproc->sighandle[sig] = handler;
 	curproc->sigextra[sig] = 0;
 	curproc->sigflags[sig] = 0;

 btw any plans for a new MH-MiNT release? :)
	Juergen
-- 
J"urgen Lock / nox@jelal.hb.north.de / UUCP: ..!uunet!unido!uniol!jelal!nox
								...ohne Gewehr
PGP public key fingerprint =  8A 18 58 54 03 7B FC 12  1F 8B 63 C7 19 27 CF DA