lkml.org 
[lkml]   [1999]   [Jan]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Porting vfork()
    On 990110, Torbjorn Lindgren wrote:
    > Note that SUSv2 DOES have vfork(), it's even part of the mandatory base
    > set (as opposed to one of the feature groups)... Yikes! They do have some
    > serious restrictions on it thought, unless you are extremely carefull you
    > slide into undefined behavior.

    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/

    \
     
     \ /
      Last update: 2005-03-22 13:49    [W:2.302 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site