mirror of
https://github.com/wez/wezterm.git
synced 2024-12-25 22:33:52 +03:00
fix unterminated loop when a tab is closed and others remain
We weren't detecting EOF reading from the pty
This commit is contained in:
parent
db5aac6681
commit
7a1d691163
@ -328,6 +328,11 @@ impl GuiEventLoop {
|
|||||||
let mut buf = [0; BUFSIZE];
|
let mut buf = [0; BUFSIZE];
|
||||||
loop {
|
loop {
|
||||||
match pty.read(&mut buf) {
|
match pty.read(&mut buf) {
|
||||||
|
Ok(size) if size == 0 => {
|
||||||
|
eprintln!("read_pty EOF: window {:?} {}", window_id, tab_id);
|
||||||
|
tx.send(IOEvent::Terminated { window_id, tab_id }).ok();
|
||||||
|
return;
|
||||||
|
}
|
||||||
Ok(size) => {
|
Ok(size) => {
|
||||||
if tx
|
if tx
|
||||||
.send(IOEvent::Data {
|
.send(IOEvent::Data {
|
||||||
@ -341,7 +346,10 @@ impl GuiEventLoop {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
eprintln!("window {:?} {} {:?}", window_id, tab_id, err);
|
eprintln!(
|
||||||
|
"read_pty failed: window {:?} {} {:?}",
|
||||||
|
window_id, tab_id, err
|
||||||
|
);
|
||||||
tx.send(IOEvent::Terminated { window_id, tab_id }).ok();
|
tx.send(IOEvent::Terminated { window_id, tab_id }).ok();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user