From 0346fe4c0a36e3a32df2b5ba34f4cb0af393c906 Mon Sep 17 00:00:00 2001 From: Cameron Esfahani Date: Tue, 2 Apr 2024 11:43:59 -0500 Subject: [PATCH] Fix zombie ssh processes from accumulating --- gix-transport/src/client/blocking_io/file.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gix-transport/src/client/blocking_io/file.rs b/gix-transport/src/client/blocking_io/file.rs index 5106e407ad3..fe6bc9580dd 100644 --- a/gix-transport/src/client/blocking_io/file.rs +++ b/gix-transport/src/client/blocking_io/file.rs @@ -126,6 +126,15 @@ impl client::TransportWithoutIO for SpawnProcessOnDemand { } } +impl Drop for SpawnProcessOnDemand { + fn drop(&mut self) { + if let Some(mut child) = self.child.take() { + child.kill().ok(); + child.wait().ok(); + } + } +} + struct ReadStdoutFailOnError { recv: std::sync::mpsc::Receiver, read: std::process::ChildStdout,