|
BASH PATCH REPORT
|
|
=================
|
|
|
|
Bash-Release: 5.0
|
|
Patch-ID: bash50-004
|
|
|
|
Bug-Reported-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
|
|
Bug-Reference-ID: <87lg0g8aiw.fsf@fifthhorseman.net>
|
|
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-04/msg00076.html
|
|
|
|
Bug-Description:
|
|
|
|
In bash-5.0, the `wait' builtin without arguments waits for all children of the
|
|
shell. This includes children it `inherited' at shell invocation time. This
|
|
patch modifies the behavior to not wait for these inherited children, some
|
|
of which might be long-lived.
|
|
|
|
Patch (apply with `patch -p0'):
|
|
|
|
*** a/jobs.c 2018-12-06 11:44:34.000000000 -0500
|
|
--- b/jobs.c 2019-04-12 15:15:10.000000000 -0400
|
|
***************
|
|
*** 2489,2496 ****
|
|
wait_procsubs ();
|
|
reap_procsubs ();
|
|
! #if 1
|
|
/* We don't want to wait indefinitely if we have stopped children. */
|
|
- /* XXX - should add a loop that goes through the list of process
|
|
- substitutions and waits for each proc in turn before this code. */
|
|
if (any_stopped == 0)
|
|
{
|
|
--- 2490,2495 ----
|
|
wait_procsubs ();
|
|
reap_procsubs ();
|
|
! #if 0
|
|
/* We don't want to wait indefinitely if we have stopped children. */
|
|
if (any_stopped == 0)
|
|
{
|
|
*** a/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
|
|
--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
|
|
***************
|
|
*** 26,30 ****
|
|
looks for to find the patch level (for the sccs version string). */
|
|
|
|
! #define PATCHLEVEL 3
|
|
|
|
#endif /* _PATCHLEVEL_H_ */
|
|
--- 26,30 ----
|
|
looks for to find the patch level (for the sccs version string). */
|
|
|
|
! #define PATCHLEVEL 4
|
|
|
|
#endif /* _PATCHLEVEL_H_ */
|