Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Oct 2001 16:40:43 -0500 (EST)
From:      Garrett Wollman <wollman@khavrinen.lcs.mit.edu>
To:        julian@elischer.org
Cc:        arch@FreeBSD.org
Subject:   Re: syscall() ABI questions
Message-ID:  <200110292140.f9TLehw15955@khavrinen.lcs.mit.edu>
In-Reply-To: <Pine.BSF.4.21.0110291255300.26174-100000@InterJet.elischer.org>
References:  <20011029151912.D14748@locore.ca>

next in thread | previous in thread | raw e-mail | index | archive | help
In article <Pine.BSF.4.21.0110291255300.26174-100000@InterJet.elischer.org> you write:
>But the API for vfork forbids the child from doing a 'ret' after the vfork
>returns.. if it does that, all bets are off.... you can do: 

vfork() in general doesn't work.  The fact that it works on current
FreeBSD platforms is just a coincidence.  (It's effectively switching
to a different stack in the child, which happens to be located in the
same place as the existing stack.  If there were a real alternate
stack, vfork() would at least have a chance at being reliable, but
this is impossible in the general case without help from the
compiler.)

IWBRNI we could implement the brand-spankin'-new posix_spawn()
interface, which attempts to provide the benefits of vfork (in its
normal usage pattern) without making assumptions about stack usage.

-GAWollman

-- 
Garrett A. Wollman   | O Siem / We are all family / O Siem / We're all the same
wollman@lcs.mit.edu  | O Siem / The fires of freedom 
Opinions not those of| Dance in the burning flame
MIT, LCS, CRS, or NSA|                     - Susan Aglukark and Chad Irschick

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200110292140.f9TLehw15955>