From: Chet Ramey Date: Fri, 7 Feb 2020 20:20:38 +0000 (-0500) Subject: Bash-5.0 patch 16: bash waits too long to reap /dev/fd process substitutions with... X-Git-Tag: bash-5.1-alpha~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6c6454cb18d7cd30b3b26d5ba6479431e599f3ed;p=thirdparty%2Fbash.git Bash-5.0 patch 16: bash waits too long to reap /dev/fd process substitutions with loops and group commands --- diff --git a/execute_cmd.c b/execute_cmd.c index f1d74bfec..3864986d8 100644 --- a/execute_cmd.c +++ b/execute_cmd.c @@ -1103,6 +1103,22 @@ execute_command_internal (command, asynchronous, pipe_in, pipe_out, free ((void *)ofifo_list); discard_unwind_frame ("internal_fifos"); } +# if defined (HAVE_DEV_FD) + /* Reap process substitutions at the end of loops */ + switch (command->type) + { + case cm_while: + case cm_until: + case cm_for: + case cm_group: +# if defined (ARITH_FOR_COMMAND) + case cm_arith_for: +# endif + reap_procsubs (); + default: + break; + } +# endif /* HAVE_DEV_FD */ #endif /* Invert the return value if we have to */ diff --git a/patchlevel.h b/patchlevel.h index 6e9ed3fc8..9074f4ddf 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 15 +#define PATCHLEVEL 16 #endif /* _PATCHLEVEL_H_ */