Lyndon wrote:
We don't do any vfork() without an immediately following exec*()
call, do we?
From vmh.c:
#ifdef hpux
switch (PEERpid = fork ()) {
/*
* Calling vfork() and then another routine [like close()] before
* an exec() messes up the stack frame, causing crib death.
* Use fork() instead.
*/
#else /* not hpux */
switch (PEERpid = vfork ()) {
#endif /* not hpux */
I'll fork (:-) a separate thread on vmh and other unused files.
makedir.c calls setgid() and setuid() between vfork() and an exec*().
showfile.c calls strcmp().
mhbuildsbr.c calls close() and conditionally dup2() and fileno().
mhlsbr.c calls those plus snprintf() and sigaction() or signal().
With that, I won't look further. I agree that vfork() should be
globally replaced with fork().
David
_______________________________________________
Nmh-workers mailing list
Nmh-workers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/nmh-workers