libes@nbs-amrf.UUCP (Don Libes) (05/19/85)
I've been hacking on news 2.10.2 and I have one problem I don't know
what to do with. In visual.c there is a routine called prun() that
actually performs the fork&exec's to do mail, followups and random
shell commands. I've extracted the part that is pertinent:
prun()
{
if ((pid = fork()) == 0) {
/* exec */ /* child */
exit(-1);
} else wait(pid); /* parent */
}
If I run this piece of code, the parent gets totally screwed up. If I
change the exit to _exit, it works fine!
All I can conjecture is that the fork is doing a vfork and the exit()
is closing some of the parents fds. If I actually exec something in
the fork, however, ps says a new process really does exist. In any
case, the exec'd process itself terminates with an exit, so once again,
my process gets screwed. Any ideas?
Don Libes {seismo,umcp-cs}!nbs-amrf!libes