diff --git a/src/engine/terminal.rs b/src/engine/terminal.rs index 4938a68..ee21fe2 100644 --- a/src/engine/terminal.rs +++ b/src/engine/terminal.rs @@ -76,9 +76,11 @@ impl TerminalServer { ) -> tokio::io::Result<()> { let msg = message.to_com(); - for i in (0..self.clients.lock().await.len()).rev() { - if let Err(e) = self.clients.lock().await[i].write(&msg).await { - self.clients.lock().await.remove(i); + let mut clients = self.clients.lock().await; + + for i in (0..clients.len()).rev() { + if let Err(e) = clients[i].write(&msg).await { + clients.remove(i); println!("{e:?}"); } } diff --git a/src/terminal/terminal.rs b/src/terminal/terminal.rs index ef41a73..7c0f1f6 100644 --- a/src/terminal/terminal.rs +++ b/src/terminal/terminal.rs @@ -50,7 +50,7 @@ impl TerminalClient { tokio::spawn(async move { loop { - let mut buffer = Vec::new(); + let mut buffer = vec![0u8; 4096]; let len = reader .read(&mut buffer)