From 8061f8f11e3f73e23d5b36b4da03bbb0ddb64ae7 Mon Sep 17 00:00:00 2001 From: Chet Ramey Date: Mon, 20 Jun 2016 15:14:03 -0400 Subject: [PATCH] Bash-4.3 patch 43 --- execute_cmd.c | 12 ++++++++++-- patchlevel.h | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/execute_cmd.c b/execute_cmd.c index 9cebaef34..4ee59c11b 100644 --- a/execute_cmd.c +++ b/execute_cmd.c @@ -2405,9 +2405,17 @@ execute_pipeline (command, asynchronous, pipe_in, pipe_out, fds_to_close) if (lastpipe_flag) { #if defined (JOB_CONTROL) - append_process (savestring (the_printed_command), dollar_dollar_pid, exec_result, lastpipe_jid); -#endif + if (INVALID_JOB (lastpipe_jid) == 0) + { + append_process (savestring (the_printed_command_except_trap), dollar_dollar_pid, exec_result, lastpipe_jid); + lstdin = wait_for (lastpid); + } + else + lstdin = wait_for_single_pid (lastpid); /* checks bgpids list */ +#else lstdin = wait_for (lastpid); +#endif + #if defined (JOB_CONTROL) /* If wait_for removes the job from the jobs table, use result of last command as pipeline's exit status as usual. The jobs list can get diff --git a/patchlevel.h b/patchlevel.h index 9b7b0e572..60eb423a4 100644 --- a/patchlevel.h +++ b/patchlevel.h @@ -25,6 +25,6 @@ regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh looks for to find the patch level (for the sccs version string). */ -#define PATCHLEVEL 42 +#define PATCHLEVEL 43 #endif /* _PATCHLEVEL_H_ */ -- 2.39.2