On Mon, 30 Oct 2006 21:51:10 +0100 Roland Mainz wrote:
> The problem is that the Solaris 10 version of |libc::vfork()| (the
> public function, not the internal |_vfork()|) is 100% identical to
> |fork()|. AFAIK all consumers who previously used the
> |vfork();exec()|-sequence should now use |posix_spawn()| instead
> (otherwise some performance gets lost).

time for a reality check

on none of the 3 dozen systems we build on does the iffe test report
a posix_spawn() worth using

this may be due to
(1) not implemented
(2) it uses fork() (then why bother if vfork() is available)
(3) it reports success for an ENOEXEC regular executable file 

this includes solaris { 8 9 10 11 }

also, the iffe vfork() test for solaris { 10 11 } reports _real_vfork
which means that the vfork() child process shares data with the parent
which means vfork() != fork()

so by empirical evidence two assertions flying on this thread are false:
(1) solaris posix_spawn() is ok to use
(2) solaris vfork() == fork()

-- Glenn Fowler -- AT&T Research, Florham Park NJ --


Reply via email to