From c1f6e1971639d8d3e5d598e00a002f922b74265b Mon Sep 17 00:00:00 2001 From: Finesssee <90105158+Finesssee@users.noreply.github.com> Date: Sat, 29 Aug 2026 17:33:22 +0700 Subject: [PATCH] Reap child when capture_output errors in CommandRunner::run --- rust/src/host/command_runner.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/rust/src/host/command_runner.rs b/rust/src/host/command_runner.rs index 627bbb4ede..017c396014 100755 --- a/rust/src/host/command_runner.rs +++ b/rust/src/host/command_runner.rs @@ -156,7 +156,13 @@ impl CommandRunner { Self::send_initial_input(&mut child, input, options.initial_delay, deadline); // Capture output - let (output, stderr, timed_out) = self.capture_output(&mut child, options, deadline)?; + let (output, stderr, timed_out) = match self.capture_output(&mut child, options, deadline) { + Ok(captured) => captured, + Err(e) => { + let _exit_code = Self::finish_child(&mut child); + return Err(e); + } + }; let exit_code = Self::finish_child(&mut child);