libiberty/pex-unix vfork abuse?
Joe Buck
Joe.Buck@synopsys.COM
Mon Dec 10 20:24:00 GMT 2007
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".
More information about the Gcc
mailing list