app-shells/bash: Apply tentative patch to try to fix wait error

Signed-off-by: James Le Cuirot <jlecuirot@microsoft.com>
This commit is contained in:
James Le Cuirot 2026-04-16 10:28:10 +01:00
parent 113a95fde9
commit 6ee951ced2
No known key found for this signature in database
GPG Key ID: 1226415D00DD3137

View File

@ -0,0 +1,45 @@
https://bugs.gentoo.org/970713
From e359bdc261f9493d91b3cf792fe4fc480ecd6dc3 Mon Sep 17 00:00:00 2001
From: Kerin Millar <kfm@plushkava.net>
Date: Thu, 13 Nov 2025 18:39:28 +0000
Subject: [PATCH] jobs.c: only call bgp_delete on a newly-created pid if
asynchronous
This is a backport of the following change from the devel branch.
jobs.c
- make_child: only call bgp_delete on a newly-created pid if that
process is asynchronous, since that is what will cause it to be
put into the bgpids table. This mostly matters for procsubs and
asynchronous jobs, but will happen for comsubs in async jobs
and coprocs as well.
Bug: https://bugs.gentoo.org/965423
Signed-off-by: Kerin Millar <kfm@plushkava.net>
---
jobs.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/jobs.c b/jobs.c
index cbcc2c15..bafa7c26 100644
--- a/jobs.c
+++ b/jobs.c
@@ -2482,9 +2482,11 @@ make_child (char *command, int flags)
been reused. */
delete_old_job (pid);
- /* Perform the check for pid reuse unconditionally. Some systems reuse
- PIDs before giving a process CHILD_MAX/_SC_CHILD_MAX unique ones. */
- bgp_delete (pid); /* new process, discard any saved status */
+ /* Perform the check for background pid reuse unconditionally.
+ Some systems reuse PIDs before giving a process
+ CHILD_MAX/_SC_CHILD_MAX unique ones. */
+ if (async_p)
+ bgp_delete (pid); /* new background process, discard any saved status */
last_made_pid = pid;
--
2.51.2