[illumos-Developer] [REVIEW] 850 system(3C) and similar could just use /bin/sh

Yuri Pankov yuri.pankov at gmail.com
Mon Apr 4 13:22:10 PDT 2011


On Mon, Apr 04, 2011 at 04:07:36PM -0400, Richard Lowe wrote:
> All,
> 
> I'd like review for:
>     850 system(3C) and similar could just use /bin/sh
>     873 Want a bsd-like <paths.h>
> 
> webrev:
>     http://richlowe.net/webrevs/il_850
> 
> 850:
>   We had a bunch of code in libc which conditionalized on __xpg4 to
> decide whether to run /bin/sh or /usr/xpg4/bin/sh.  With Illumos,
> these are the same shell, so none of this is necessary.
> 
> 873:
>   In doing this, Gordon suggested that perhaps it'd be nice to have a
> BSD-like define for "the shell", so I have here imported NetBSD's
> <paths.h> with those entries which do not apply to us removed, and
> changes made as necessary to fit with illumos (for instance, the PATH
> and STDPATH changes).

A small question about _PATH_DEFPATH - is /bin really needed there as
it's symlink now or is this going to change?

> 
>   A <paths.h> with similar definitions is present on all BSD systems
> (including OS X), and systems using the GNU C Library (such as Linux).
> 
>   I plan in the future to use this header to commonise the various
> default $PATH definitions currently within libc (all those which say
> "Keep in sync with CSPATH", and haven't been).
> 
> Testing:
>   - Used the ! command in ed and xpg4/ed under truss, made sure it was
> executing /usr/bin/sh
> 
>   - Used both at and xpg4/at while trussing cron, made sure the
> correct shell was being used
> 
>   - Wrote some small crappy bits of code which call execvp(3C),
> system(3C), popen(3C), and posix_spawnp(3C) in conditions which cause
> them to execute the shell, and verified both that they executed
> anything, and that what they executed was /usr/bin/sh
> 
>   I also plan to re-test ahead of integration.
> 
> -- Rich


Yuri



More information about the Developer mailing list