From 74366285f0241a776b650cae26578c5390c98a3e Mon Sep 17 00:00:00 2001 From: Yelninei Date: Sat, 13 Dec 2025 18:25:23 +0000 Subject: [PATCH] gnu: hurd: Prevent zombie processes. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes: shepherd/shepherd#93 * gnu/packages/patches/hurd-proc-zombies.patch: new patch. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/hurd.scm (hurd): Add patch. Change-Id: Iddab14fcd487817cde7aa2f7fd047e943d9337d1 Signed-off-by: Ludovic Courtès Merges: #4822 --- gnu/local.mk | 1 + gnu/packages/hurd.scm | 3 ++- gnu/packages/patches/hurd-proc-zombies.patch | 28 ++++++++++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/hurd-proc-zombies.patch diff --git a/gnu/local.mk b/gnu/local.mk index 5db831f0af84b31afa9bb4b4020357e253f906dd..eac175268082ad9da6d53f02399f0cecf123367e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1594,6 +1594,7 @@ dist_patch_DATA = \ %D%/packages/patches/hurd-refcounts-assert.patch \ %D%/packages/patches/hurd-rumpdisk-no-hd.patch \ %D%/packages/patches/hurd-startup.patch \ + %D%/packages/patches/hurd-proc-zombies.patch \ %D%/packages/patches/hwloc-1-test-btrfs.patch \ %D%/packages/patches/i3lock-blur-fix-build-on-gcc-10.patch \ %D%/packages/patches/i7z-gcc-10.patch \ diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 20bbc6c14e2dc94ac1f2e076ef615e23042bc173..af87700c86715e209045d094c7c52dc25a701de6 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -344,7 +344,8 @@ Hurd-minimal package which are needed for both glibc and GCC.") (inherit (package-source hurd-headers)) (patches (search-patches "hurd-refcounts-assert.patch" "hurd-rumpdisk-no-hd.patch" - "hurd-startup.patch")))) + "hurd-startup.patch" + "hurd-proc-zombies.patch")))) (version (package-version hurd-headers)) (arguments `(#:tests? #f ;no "check" target diff --git a/gnu/packages/patches/hurd-proc-zombies.patch b/gnu/packages/patches/hurd-proc-zombies.patch new file mode 100644 index 0000000000000000000000000000000000000000..ecc50ec4e4d9d392306eb2f79f1e62adba7e91ff --- /dev/null +++ b/gnu/packages/patches/hurd-proc-zombies.patch @@ -0,0 +1,28 @@ +Upstream status: https://lists.gnu.org/archive/html/bug-hurd/2025-12/msg00019.html + +From 382c796742dad624d958ac283a7fb10960c742b1 Mon Sep 17 00:00:00 2001 +From: Yelninei +Date: Sat, 13 Dec 2025 17:55:08 +0000 +Subject: [PATCH] proc: Also check whether the last child is already dead. + +* proc/mgt.c (process_has_exited): Repeat check for the last child too. +--- + proc/mgt.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/proc/mgt.c b/proc/mgt.c +index 3f04e2ba..dcb619af 100644 +--- a/proc/mgt.c ++++ b/proc/mgt.c +@@ -1102,6 +1102,8 @@ process_has_exited (struct proc *p) + 1, tp->p_pgrp->pg_pgid, + !tp->p_pgrp->pg_orphcnt); + tp->p_parent = reparent_to; ++ if (tp->p_dead) ++ isdead = 1; + + /* And now append the lists. */ + tp->p_sib = reparent_to->p_ochild; +-- +2.52.0 +