Skip to content

Commit d1f4ee9

Browse files
committed
fix(terminal): fix test_terminal_echo hang by flushing PTY writer and killing child process on loop exit
1 parent e393b5c commit d1f4ee9

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

anycode-backend/src/terminal.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ impl Terminal {
126126
if let Err(e) = write!(writer, "{}", input) {
127127
tracing::error!("PTY write error: {:?}", e);
128128
}
129+
let _ = writer.flush();
129130
}
130131
Some((cols, rows)) = resize_rx.recv() => {
131132
let _ = pair.master.resize(PtySize {
@@ -136,13 +137,13 @@ impl Terminal {
136137
});
137138
}
138139
Some(_) = kill_rx.recv() => {
139-
let _ = child.kill();
140-
let _ = child.wait();
141140
break;
142141
}
143142
else => break,
144143
}
145144
}
145+
let _ = child.kill();
146+
let _ = child.wait();
146147
});
147148
}
148149

0 commit comments

Comments
 (0)