[gnu.emacs.help] emacs on NeXT: pipe processes die signal 0

max@Neon.Stanford.EDU (Max Hailperin) (01/26/91)

Using the emacs 18.55.121 that came with NeXT 2.0 extended software on
a NeXT (either old or new hardware), when I start a subrocess with pipe
communications (i.e., process-connection-type nil), it either dies immediately
on startup or never really starts (I can't tell which).  If I setq
delete-exited-processes to nil, then it gets identified as having terminated
with "signal 0".  This is really wierd.  Not only is there no such thing
as signal zero, but in fact the way wait3 encodes the status information,
you couldn't even think there was: a zero signal means normal exit.  So,
the problem must be elsewhere in the emacs code.  Delete-process sets
the flags to "SIGNALED | CHANGED" but doesn't set the "reason" to a  signal
number, so that it would look like signal 0.  However, it also does a 
remove_process, such that it wouldn't be listed anymore, while these
processes do get listed, so that isn't the explanation.  Another possibility
would be if someone ORed in rather than setting the status, and both stopped
and then exited got ored in, resulting in signaled (1|2 = 3).  This seems
even more far fetched.  HELP! Who knows what the real expanation is???
Or even has a good idea?  Many thanks.