Programs which depend on the special suspend-the-parent behavior of vfork
were always regarded as buggy...

Thomas

On Fri, Nov 25, 2011 at 7:42 AM, Thomas Schwinge <tho...@schwinge.name>wrote:

> Hallo!
>
> On Thu, 24 Nov 2011 15:59:55 -0000, Planet GNU <tschwinge+n...@gnu.org>
> wrote:
> > Many articles uniformly claim that using vfork should be
> > [avoided][1] and that the only difference between vfork and fork is (or
> > used-to-be) [performance][2] and that thus vfork is [obsolte][3]. Here, I
> > wanted to document a technical case where vfork is actually required and
> > where using vfork instead of fork (or operating system implementors
> > implementing vfork as an alias for fork) causes a hard-to-find data race.
> > [...]
> > URL: https://gnunet.org/vfork
>
> Rather ``using *fork* instead of *vfork*'', I assume?
>
>
> Just for the record, the Hurd doesn't have a vfork implementation, and
> we're thus using glibc's default POSIX vfork implementation:
>
>    /* If we don't have vfork, fork is close enough.  */
>
>    __pid_t
>    __vfork (void)
>    {
>      return __fork ();
>    }
>
> I wonder how clumsy it would get to add vfork's ``parent blocks until the
> child calls _exit or exec'' functionality.
>
>
> Grüße,
>  Thomas
>

Reply via email to