The restrictions appear to make it legal for vfork() to have either fork() or
traditional vfork() semantics; any program which can tell the difference has
strayed into areas explicitely undefined by SUSv2.
> Yes, most OS'es that have vfork() seems to have lots of cautions about it
> in their manual pages. The closest to a BSD4.x box I could find (Ultrix
> 4.4) didn't have it thought, so the original BSD implementations might
> not have had it...
FreeBSD 2.10-release, BSDI BSD/OS 2.1, and straght 4.4BSD all contain the
paragraph:
This system call will be eiminated when proper system sharing mechanisms
are implemented. users should not depend on the memory sharing semantics
of vfork as it will, in that case, be made synonymous with fork.
SunOS 4.1.1, 5.4, 5.5, 5.5.1 and 5.6 and 5.7 say:
This system call will be eliminated in a future release.
System implementation changes are making the efficiency
gain of vfork() over fork(2V) smaller. The memory sharing
semantics of vfork() can be obtained through other mecha-
nisms.
As an aside, 5.5 and higher also note that vfork is unsafe in MT apps.
-- "Ayn's vision is _Russian_ libertarianism, in the same sense that Leninism is Russian Marxism." -- Joshua W Burton ICQ UIN: 26467396- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/