Merge from vendor branch TNF:
authorminskim <minskim>
Sun, 21 Aug 2011 04:57:36 +0000 (04:57 +0000)
committerminskim <minskim>
Sun, 21 Aug 2011 04:57:36 +0000 (04:57 +0000)
commit53e2f7197cadbbbcda2ea613ca2b7ba9a37056bc
treeca40841c63759a9362f12789ccd99afac8d6c24f
parent5ca80e885024a17daa7167107940abe86dc02c02
parente07975a37bbb1ced70944b9826ea29f4067d40a6
Merge from vendor branch TNF:
Import ruby19-posix-spawn-0.3.6 as devel/ruby-posix-spawn.

fork(2) calls slow down as the parent process uses more memory due to
the need to copy page tables.  In many common uses of fork(), where it
is followed by one of the exec family of functions to spawn child
processes (Kernel#system, IO::popen, Process::spawn, etc.), it's
possible to remove this overhead by using the use of special process
spawning interfaces (posix_spawn(), vfork(), etc.)

The posix-spawn library aims to implement a subset of the Ruby 1.9
Process::spawn interface in a way that takes advantage of fast process
spawning interfaces when available and provides sane fallbacks on
systems that do not.