Bash-5.2 patch 15: fix too-aggressive optimizing forks out of subshell commands

This commit is contained in:
Chet Ramey
2022-12-13 12:43:50 -05:00
parent 6647917a43
commit ec8113b986
9 changed files with 22 additions and 12 deletions
+2 -1
View File
@@ -1654,7 +1654,8 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
subshell sets an exit trap, so we set CMD_NO_FORK for simple commands
and set CMD_TRY_OPTIMIZING for simple commands on the right side of an
and-or or `;' list to test for optimizing forks when they are executed. */
if (user_subshell && command->type == cm_subshell)
if (user_subshell && command->type == cm_subshell &&
(command->flags & (CMD_TIME_PIPELINE|CMD_INVERT_RETURN)) == 0)
optimize_subshell_command (command->value.Subshell->command);
/* Do redirections, then dispose of them before recursive call. */