Re: vfork

Kai Henningsen (kaih@khms.westfalen.de)
10 Nov 1999 09:34:00 +0200


torvalds@transmeta.com (Linus Torvalds) wrote on 09.11.99 in <Pine.LNX.4.10.9911090811240.9153-100000@penguin.transmeta.com>:

> > > POSIX DESCRIPTION
> > > The vfork() function has the same effect as fork(), except
> > > that the behaviour is undefined if the process created by
> > > vfork() either modifies any data other than a variable of type
> > > pid_t used to store the return value from vfork(), or returns
> > > from the func= tion in which vfork() was called, or calls
> > > any other function before successfully calling _exit() or one of
> > > the exec family of functions.
>
> Just describe it the way it works.
>
> vfork() under Linux is actually just another case of clone(), and the old
> reasons why it was considered horrible are basically all gone. The Linux
> mm layer evolved to the point where it was trivial to implement, WITHOUT
> any of the special hacks that the original BSD implementation had, and
> that made people hate it in the BSD community.
>
> So the ugly part about vfork() doesn't exist any more, yet the good
> attributes still do.

Well, in 2.2.12 it seems strace can't follow vfork()s without some kernel
patch. Or so I gather from the docs and the failure to perform.

Is this better in 2.3.*?

MfG Kai

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/