summaryrefslogtreecommitdiff
path: root/src/tty/tty.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/tty/tty.zig')
-rw-r--r--src/tty/tty.zig4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/tty/tty.zig b/src/tty/tty.zig
index 8e3809b0..14417cd0 100644
--- a/src/tty/tty.zig
+++ b/src/tty/tty.zig
@@ -1250,7 +1250,9 @@ const Shell = struct {
fn ptySignal(ctx: ?*anyopaque, pane: u8, sig: pardes.PtySignal) void {
const s = of(ctx);
- if (s.ptys[pane]) |pt| host_io.signalTty(pt.pid, pt.file.handle, sig);
+ // A command whose exit is recorded is reaped: its group may be
+ // another's by now.
+ if (s.ptys[pane]) |pt| if (!pt.cmd.exited) host_io.signalTty(pt.pid, pt.file.handle, sig);
}
/// The pane is gone: hang its pty up, which the kernel passes on to the