cvs commit: src/include Makefile spawn.h unistd.h src/lib/libc/gen exec.3 exec.c posix_spawn.c

Ceri Davies ceri at
Tue Jun 17 18:36:07 UTC 2008

On Tue, Jun 17, 2008 at 01:07:55PM -0400, David Schultz wrote:
> On Tue, Jun 17, 2008, Maxim Sobolev wrote:
> > Ed Schouten wrote:
> > >* David Schultz <das at FreeBSD.ORG> wrote:
> > >>I have no objections to this, but doesn't it defeat the whole
> > >>purpose to implement posix_spawn() as a library function that just
> > >>calls fork/exec?
> > >
> > >When (if?) applications start to use posix_spawn() we may decide to move
> > >it into the kernel at any time. It should be okay for now.
> > 
> > Are there any benefits of doing it in the kernel vs. doing it via fork+exec?
> The only reason spawn exists is to better support platforms where
> fork is slow, so implementing it in terms of fork/exec defeats the
> purpose and potentially tricks configure scripts into making
> incorrect assumptions about performance tradeoffs.

It also helps on platforms like Solaris which refuse to overcommit,
where a large process, say a 4GB JVM, would otherwise need another 4GB
of swap free in order for fork to succeed.

That must be wonderful!  I don't understand it at all.
                                                  -- Moliere
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url :

More information about the cvs-src mailing list