aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-05-11 17:00:55 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-05-11 17:00:55 +0300
commit065ae01b63e47793362a0bda944f732addd10668 (patch)
treefb8367bf715b2968adc2100081ebc507366bcf50 /src
parent8007c9202ce1f90f95bd3442bc59148e33d13620 (diff)
fix: drain client control messages during shutdown
Diffstat (limited to 'src')
-rw-r--r--src/server/client_transport.rs5
1 files changed, 1 insertions, 4 deletions
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<Vec<u8>>,
render_rx: std::sync::mpsc::Receiver<Vec<u8>>,
server_event_tx: mpsc::Sender<ServerEvent>,
- should_quit: &Arc<AtomicBool>,
) {
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) {