From 7eccfd3b455f89abab2a37c78cc6106f5cc2fe7f Mon Sep 17 00:00:00 2001 From: Jorijn van der Graaf Date: Sat, 31 Oct 2026 15:47:37 +0100 Subject: [PATCH] fix(run): a run takes what is left below it down on its way out Its subreaper status makes a daemon a git call started its child; at exit it goes, as freeze's do. Never a process the run did not start. Co-Authored-By: Claude Opus 5.5 --- implementations/Crafter.Review-Run.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/implementations/Crafter.Review-Run.cpp b/implementations/Crafter.Review-Run.cpp index 8353bde..22632a5 100644 --- a/implementations/Crafter.Review-Run.cpp +++ b/implementations/Crafter.Review-Run.cpp @@ -2187,6 +2187,9 @@ namespace Crafter::Review::Run { watcher.request_stop(); watcher.join(); Current = nullptr; + // Whatever is left below this subreaper - a daemon a git call + // started - goes with it; never a process it did not start. + Process::KillDescendants(); return code; } }