[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