From 94ba24daddaa30976769b2465254e4f4af2de424 Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Thu, 30 Oct 2025 14:40:31 +0100 Subject: [PATCH] terminal: Properly kill child process on terminal exit (#41562) Release Notes: - Fixed terminal processes occasionally leaking Co-authored by: Jakub --- crates/terminal/src/terminal.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crates/terminal/src/terminal.rs b/crates/terminal/src/terminal.rs index 41c51c38f7b1163229bb6570679ac873bd36474b..49dd35528a330b5b0457fe0ca7357e95a2f0157a 100644 --- a/crates/terminal/src/terminal.rs +++ b/crates/terminal/src/terminal.rs @@ -2241,7 +2241,8 @@ unsafe fn append_text_to_term(term: &mut Term, text_lines: &[&str]) impl Drop for Terminal { fn drop(&mut self) { - if let TerminalType::Pty { pty_tx, .. } = &self.terminal_type { + if let TerminalType::Pty { pty_tx, info } = &mut self.terminal_type { + info.kill_current_process(); pty_tx.0.send(Msg::Shutdown).ok(); } }