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. -- Daniel Jacobowitz CodeSourcery