mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-02 11:38:07 -07:00
Use backport from Kerin. A workaround in Portage is likely to still be needed to be safe, though. Bug: https://bugs.gentoo.org/970713 Closes: https://bugs.gentoo.org/970838 Signed-off-by: Sam James <sam@gentoo.org>
45 lines
1.5 KiB
Diff
45 lines
1.5 KiB
Diff
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
|
|
--- jobs.c
|
|
+++ 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
|