Subject: Re: make -j and failure modes
To: Ben Harris <>
From: Greywolf <>
List: tech-userlevel
Date: 12/10/2003 15:37:31
Thus spake Ben Harris ("BH> ") sometime Today...

BH> Well, in this regard Bash seems to follow the standard, and is shipped as
BH> "sh" in some commercial systems.  There are areas (command searching, for
BH> instance) where I think _everyone_ diverges from the standard, but this
BH> isn't one.

Bash/BSD-sh seem to be the _exceptions_ to this area, actually, but
I'd need some more up-to-date verification:  Can anyone provide output

	sh -ec '(false && echo bad); echo ok'

for current versions of:
	- HP-UX /bin/sh
	- AIX /bin/sh
	- IRIX /bin/sh [okay, so IRIX is dead.  Humour me.]
	- OSX /bin/sh [or is that BSD-sh?]

BH> I suspect that most people will assume Make's default (and
BH> POSIX-standardised) behaviour (one shell environment per command line) as
BH> well, so they'll be likely to be confused by "make -j" anyway.  It's more
BH> the authors of shell scripts that I'd worry about.

[make -j is a noble concept that apparently has not been nailed down
quite yet.  It seems doable...]

BH> > Shrug and ignore, if you must.  I'm not looking for a war, I'm just
BH> > making some observations.
BH> Sorry.  I hadn't intented to be rude (well, no more than I usually am).  I
BH> just couldn't remember whether saying "POSIX" in your direction would be
BH> likely to be productive.

Heh.  It depends on context.  There are a lot of places where I think
POSIX made some mistakes (it would have helped if they could have remained
more platform-neutral and not allowed themselved to be bought, for example),
and yeah, I've bashed POSIX...

But I didn't see this as purely a POSIX issue; in fact, I look at this as
more of an issue of a POLS violation (anyone for creating a sane OS
Standards Base and calling it "POLSIX"? :-).

I should probably read the spec closely, but I thought that () was
simply a subshell, and it doesn't seem to me that it should contain
any special meaning beyond that.