From 7a9ad38657e32eb0de9b4b192cf43ccc55da1ba1 Mon Sep 17 00:00:00 2001 From: DuProcess <273172371+DuProcess@users.noreply.github.com> Date: Fri, 17 Jul 2026 19:52:19 -0400 Subject: [PATCH] Surface service forwarder failures --- src/bin/dosh-client.rs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/bin/dosh-client.rs b/src/bin/dosh-client.rs index 1b9ed67..1a1fc1c 100644 --- a/src/bin/dosh-client.rs +++ b/src/bin/dosh-client.rs @@ -2380,8 +2380,21 @@ struct FileForwarder { impl Drop for FileForwarder { fn drop(&mut self) { - let _ = self.child.kill(); - let _ = self.child.wait(); + let exited = self.child.try_wait().ok().flatten(); + if exited.is_none() { + let _ = self.child.kill(); + let _ = self.child.wait(); + return; + } + if exited.is_some_and(|status| !status.success()) { + let mut stderr = String::new(); + if let Some(mut pipe) = self.child.stderr.take() { + let _ = pipe.read_to_string(&mut stderr); + } + if !stderr.trim().is_empty() { + eprintln!("Dosh service forwarder failed:\n{}", stderr.trim_end()); + } + } } }