On Mon, Dec 10, 2007 at 02:22:45PM -0500, Daniel Jacobowitz wrote:
> On Mon, Dec 10, 2007 at 11:18:57AM -0800, Joe Buck wrote:
> > While the standard's wording might need fixing, with every implementation
> > of vfork I know of, there are no threads.  It's a mechanism for systems
> > that don't support fork (or that can only do fork in a horribly
> > inefficient way, say because there's no MMU, and no support for copy on
> > write), but that support the creation of new processes.
> 
> No, Dave's right.  On GNU/Linux you can have two threads running on
> different processors simultaneously calling vfork.  And even with an
> MMU it is considerably more efficient than requiring setup of a new
> copy-on-write page table.

Yes, that's true.  And of course some implementation might map vfork to
fork, which complies with standards.  I only meant to talk about races
between parent and child "process".


Reply via email to