From d6c9d00a4c956123d248845ee5aedec3e5486e6f Mon Sep 17 00:00:00 2001 From: Jakub Konka Date: Wed, 15 Oct 2025 17:14:04 +0200 Subject: [PATCH] dap: Wrap Child directly in a mutex rather than through Option<_> (#40192) Release Notes: - N/A --- crates/dap/src/transport.rs | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/crates/dap/src/transport.rs b/crates/dap/src/transport.rs index 50ffb4b7820517f380909ae2ecad160a31afdd54..fcf46626db7476da3b5ef5464eca30916cfb804c 100644 --- a/crates/dap/src/transport.rs +++ b/crates/dap/src/transport.rs @@ -649,7 +649,7 @@ impl Drop for TcpTransport { } pub struct StdioTransport { - process: Mutex>, + process: Mutex, _stderr_task: Option>, } @@ -684,7 +684,7 @@ impl StdioTransport { )) }); - let process = Mutex::new(Some(process)); + let process = Mutex::new(process); Ok(Self { process, @@ -699,9 +699,7 @@ impl Transport for StdioTransport { } fn kill(&mut self) { - if let Some(process) = &mut *self.process.lock() { - process.kill(); - } + self.process.lock().kill(); } fn connect( @@ -713,8 +711,7 @@ impl Transport for StdioTransport { )>, > { let result = util::maybe!({ - let mut guard = self.process.lock(); - let process = guard.as_mut().context("oops")?; + let mut process = self.process.lock(); Ok(( Box::new(process.stdin.take().context("Cannot reconnect")?) as _, Box::new(process.stdout.take().context("Cannot reconnect")?) as _, @@ -730,9 +727,7 @@ impl Transport for StdioTransport { impl Drop for StdioTransport { fn drop(&mut self) { - if let Some(process) = &mut *self.process.lock() { - process.kill(); - } + self.process.lock().kill(); } }