Page MenuHomePhorge

D14254.1768877362.diff
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

D14254.1768877362.diff

diff --git a/services/tunnelbroker/src/websockets/session.rs b/services/tunnelbroker/src/websockets/session.rs
--- a/services/tunnelbroker/src/websockets/session.rs
+++ b/services/tunnelbroker/src/websockets/session.rs
@@ -745,6 +745,10 @@
pub async fn send_message_to_device(&mut self, message: Message) {
if let Err(e) = self.tx.send(message).await {
+ if should_ignore_error(&e) {
+ debug!("Ignored error when sending message to device: {e:?}");
+ return;
+ }
error!(
errorType = error_types::WEBSOCKET_ERROR,
"Failed to send message to device: {}", e
@@ -866,3 +870,18 @@
Ok(())
}
}
+
+fn should_ignore_error(err: &hyper_tungstenite::tungstenite::Error) -> bool {
+ use hyper_tungstenite::tungstenite::Error as E;
+ use std::io::ErrorKind;
+
+ match err {
+ E::ConnectionClosed | E::AlreadyClosed => true,
+ E::Io(io_error) => match io_error.kind() {
+ // The operation failed because a pipe was closed.
+ ErrorKind::BrokenPipe => true,
+ _ => false,
+ },
+ _ => false,
+ }
+}

File Metadata

Mime Type
text/plain
Expires
Tue, Jan 20, 2:49 AM (13 h, 1 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5959165
Default Alt Text
D14254.1768877362.diff (1 KB)

Event Timeline