From 38c3aaf34f35fc9df6ce0893d45d97b9229ca4b9 Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Mon, 28 Apr 2025 11:46:38 +0200 Subject: [PATCH] macOS local mode: gracefully handle disconnecting client --- src/packet_sources/macos.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/packet_sources/macos.rs b/src/packet_sources/macos.rs index 74a6b826..75554abd 100644 --- a/src/packet_sources/macos.rs +++ b/src/packet_sources/macos.rs @@ -335,7 +335,9 @@ impl ConnectionTask { tokio::select! { _ = self.shutdown.recv() => break, Ok(()) = self.stream.writable(), if !write_buf.is_empty() => { - self.stream.write_buf(&mut write_buf).await.context("failed to write to socket from buf")?; + let Ok(_) = self.stream.write_buf(&mut write_buf).await else { + break; // Client has disconnected. + }; if write_buf.is_empty() { if let Some(tx) = drain_tx.take() { tx.send(()).ok();