From c6a8bcd4a5660e7d0bc4759f08a272c97bea369d Mon Sep 17 00:00:00 2001 From: Chet Ramey Date: Thu, 15 Jan 2015 10:20:45 -0500 Subject: Bash-4.3 patch 32 Change-Id: I0d7aeffa95fd5d5f109b561ed91b2625d801d1f0 --- jobs.c | 4 +++- patchlevel.h | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/jobs.c b/jobs.c index baa8614..5d77888 100644 --- a/jobs.c +++ b/jobs.c @@ -3339,7 +3339,9 @@ itrace("waitchld: waitpid returns %d block = %d", pid, block); if (posixly_correct && this_shell_builtin && this_shell_builtin == wait_builtin) { interrupt_immediately = 0; - trap_handler (SIGCHLD); /* set pending_traps[SIGCHLD] */ + /* This was trap_handler (SIGCHLD) but that can lose traps if + children_exited > 1 */ + queue_sigchld_trap (children_exited); wait_signal_received = SIGCHLD; /* If we're in a signal handler, let CHECK_WAIT_INTR pick it up; run_pending_traps will call run_sigchld_trap later */ diff --git a/patchlevel.h b/patchlevel.h index 0ad46aa..b8bf387 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 31 +#define PATCHLEVEL 32 #endif /* _PATCHLEVEL_H_ */ -- cgit v1.2.3