From ec8113b9861375e4e17b3307372569d429dec814 Mon Sep 17 00:00:00 2001 From: Chet Ramey Date: Tue, 13 Dec 2022 12:43:50 -0500 Subject: Bash-5.2 patch 15: fix too-aggressive optimizing forks out of subshell commands --- execute_cmd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'execute_cmd.c') diff --git a/execute_cmd.c b/execute_cmd.c index ee0ea8c4..41d3cf88 100644 --- a/execute_cmd.c +++ b/execute_cmd.c @@ -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. */ -- cgit v1.2.1