aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main.rs10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs
index faf397c5..98daddf1 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -180,8 +180,12 @@ fn main() {
}
}
- while let Ok(c) = chars_rx.try_recv() {
- pty_parser.advance(&mut terminal, c);
+ loop {
+ match chars_rx.try_recv() {
+ Ok(c) => pty_parser.advance(&mut terminal, c),
+ Err(TryRecvError::Disconnected) => break 'main_loop,
+ Err(TryRecvError::Empty) => break,
+ }
}
unsafe {
@@ -210,5 +214,7 @@ fn main() {
window.swap_buffers().unwrap();
}
+
+ // TODO handle child cleanup
}