nmh-workers
[Top] [All Lists]

Re: [Nmh-workers] vfork()

2011-12-25 10:12:12
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

<Prev in Thread] Current Thread [Next in Thread>