From 2d9b9dbf9a7b4995fda10bb630b739919be85fc5 Mon Sep 17 00:00:00 2001 From: John Doty Date: Mon, 10 Oct 2022 02:56:39 +0000 Subject: [PATCH] Better UI waiting --- src/lib.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index c7fbfb4..a3e8676 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -335,7 +335,7 @@ async fn client_main( let (port_sender, mut port_receiver) = mpsc::channel(2); let connections = ConnectionTable::new(); - let ui = tokio::spawn(async move { ui::run_ui(&mut port_receiver).await }); + let mut ui = tokio::spawn(async move { ui::run_ui(&mut port_receiver).await }); // And now really get into it... let (msg_sender, mut msg_receiver) = mpsc::channel(32); @@ -349,6 +349,10 @@ async fn client_main( let (mut done_writing, mut done_reading) = (false, false); while !(done_reading && done_writing) { tokio::select! { + _ = &mut ui => { + // UI said to quit. + break; + } result = async { loop { use tokio::time::{sleep, Duration}; @@ -376,10 +380,6 @@ async fn client_main( }, } } - - if let Err(_) = ui.await { - //TODO - } Ok(()) }