vfork instead of fork for fork+exec?

Dmitry Samersoff dms at samersoff.net
Sat May 16 12:06:10 PDT 2009


Christos,

Christos Zoulas wrote:
> On May 16,  5:12pm, dms at samersoff.net (Dmitry Samersoff) wrote:
> -- Subject: Re: vfork instead of fork for fork+exec?
> 
> | Charles,
> | 
> | On BSD vfork() stops parent process until child exited or call exec. 
> | It's not acceptable in multithreaded environment.
> 
> Yes, this could be a problem if the program does not run exec
> immediately after vfork(), but in practice most programs run exec,
> a couple of dups, and vfork because there is not much else you can
> legally do without trashing the state of your parent.

What does vfork() do with other threads? Does it stops it also ?
What happens with mutexes - does the child inherit it?

> Yes vfork is a weird syscall, annoying and difficult to use, but please
> don't make performance claims without actually doing any tests.

OK ;)


-- 
Dmitry Samersoff
dms at samersoff.net, http://devnull.samersoff.net
* There will come soft rains ...




More information about the bsd-port-dev mailing list