[PATCHv2] librt: Add partial posix_spawn support

Rich Felker dalias at aerifal.cx
Fri Mar 2 01:35:19 UTC 2012


On Thu, Mar 01, 2012 at 09:34:43PM -0200, Ismael Luceno wrote:
> +config UCLIBC_POSIX_SPAWN
> +	bool "Enable posix_spawn functions"
> +	help
> +	  Enable this if you need posix_spawn functionality.
> +
> +	  Please note that posix_spawn and posix_spawnp are stubs.
> +
> +	  If unsure, say N.
> +

>From what I can tell, this comment is correct. This patch adds quite a
good deal of code to manage the file actions list and spawn
attributes, which are completly impossible to read/use because the
only function that can use the opaque type is a stub. As far as I can
see, this is really the most nonsensical kind of bloat.

If you want these functions to exist purely to avoid link errors
building programs that "need" them but don't actually use them, then
stub out all the file actions list and attributes code too. Then it
will actually be tiny and unobtrusive.

On the other hand, if you want to include 75% of the functional code
needed for posix_spawn, why not go ahead and include the last 25% so
that it actually works? After all, the ENTIRE POINT of posix_spawn is
to facilitate efficient running of external program images as a new
process in situations where fork would be prohibitive -- situations
such as NOMMU embedded systems. Having posix_spawn in uClibc (and
using it in busybox) would be quite a nice feature, in my opinion.

If there's something wrong with the glibc version you've mostly
copied, I also have a from-scratch version in musl that's probably
mildly lighter.

Rich


More information about the uClibc mailing list