-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 7/14/15 8:22 AM, Chet Ramey wrote:
> On 7/14/15 2:33 AM, Mike Frysinger wrote:
>
>> running it with set -x shows that it runs the xgcc & rm steps, but
>> that's
> it.
>> using strace shows xgcc and rm both exit(0), but for some reason
>> bash doe
> s
>> not continue to the following commands like it should.
>
>> if i change the && to a ; after the first rm, it still stops
>> executing at
> that
>> point. if i change the && to a ; after the xgcc command, then the
>> rest o
> f the
>> commands run fine.
>
>> attached is the strace. it is not in fork mode, yet the shell
>> clearly do
> es an
>> exec into the rm tool. looks like bash, for some reason, thinks
>> this is
> the
>> end of the possible commands and so does an optimization to exec
>> into it
> ?
>
> Thanks for the report. That's probably it; I'll take a look.
The following patch removes the code that incorrectly optimizes the fork in
this case. There is a much more direct way to do what I want; that will be
in the next test release.
Chet
- --
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU [email protected] http://cnswww.cns.cwru.edu/~chet/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iEYEARECAAYFAlWlC+EACgkQu1hp8GTqdKs+AACgn5NRCw3Hi0oO0ruPrX5F5ijU
nGAAoIV75OFY0KOM/UDLARkV2Q7cyEWd
=QvLq
-----END PGP SIGNATURE-----
*** ../bash-4.4-alpha/execute_cmd.c 2015-06-12 17:29:18.000000000 -0400
--- execute_cmd.c 2015-07-14 08:59:22.000000000 -0400
***************
*** 2630,2638 ****
if (ignore_return && second)
second->flags |= CMD_IGNORE_RETURN;
- if (should_suppress_fork (second))
- {
- second->flags |= CMD_NO_FORK;
- second->value.Simple->flags |= CMD_NO_FORK;
- }
exec_result = execute_command (second);
--- 2630,2633 ----