tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: __vfork14()



In article <87ocxl3903.fsf%himring.draga.com@localhost>,
Jim Wise  <jwise%draga.com@localhost> wrote:
>-=-=-=-=-=-
>
>
>Quick question, out of curiosity, about NetBSD's vfork():
>
>In 1998, we switched vfork() back from the 4.4 semantics (Copy-on-Write
>until exec) to the traditional BSD semantics (shared address space
>between parent and child until exec()).  I'm curious about the how this
>is used:
>
>  -- was this an optimization, with code working pretty much as before,
>     but gaining speed from not doing a bunch of unneeded Copy-on-Write
>     setup?

Yes. Look in the mailing lists on how much the shell performance improved
when elric switched it to vfork for the common cases.

>  -- are there programs in-tree which depend on the shared address space
>     semantics?

Yes, csh.

>  -- are there common third-party apps which do?

Probably not (except tcsh).

>  -- what do other systems do?

Print 0 in hashstat in csh.

>Needless to say, there's no lurking change behind this question -- just
>wondering... 

Another important semantic is that vfork() has is that the parent is suspended
until the child execs.

christos



Home | Main Index | Thread Index | Old Index