From 065ae01b63e47793362a0bda944f732addd10668 Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Mon, 11 May 2026 17:00:55 +0300 Subject: fix: drain client control messages during shutdown --- src/server/client_transport.rs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'src/server/client_transport.rs') diff --git a/src/server/client_transport.rs b/src/server/client_transport.rs index ec1adf0b..c4c1acc0 100644 --- a/src/server/client_transport.rs +++ b/src/server/client_transport.rs @@ -182,7 +182,6 @@ pub(crate) fn handle_client_handshake( // Spawn a writer thread that forwards messages from the channels to the stream. let write_stream = stream.try_clone()?; - let write_quit = should_quit.clone(); let writer_event_tx = server_event_tx.clone(); std::thread::spawn(move || { client_writer_loop( @@ -191,7 +190,6 @@ pub(crate) fn handle_client_handshake( control_rx, render_rx, writer_event_tx, - &write_quit, ); }); @@ -206,12 +204,11 @@ fn client_writer_loop( control_rx: std::sync::mpsc::Receiver>, render_rx: std::sync::mpsc::Receiver>, server_event_tx: mpsc::Sender, - should_quit: &Arc, ) { let mut control_closed = false; let mut render_closed = false; - while !should_quit.load(Ordering::Acquire) { + loop { match control_rx.try_recv() { Ok(data) => { if !write_framed_bytes(&mut stream, &data) { -- cgit v1.2.3