summaryrefslogtreecommitdiff
path: root/src/detached
diff options
context:
space:
mode:
Diffstat (limited to 'src/detached')
-rw-r--r--src/detached/server.zig5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/detached/server.zig b/src/detached/server.zig
index 61fbe111..86ba2206 100644
--- a/src/detached/server.zig
+++ b/src/detached/server.zig
@@ -679,9 +679,12 @@ pub const Session = struct {
}
fn paneEof(s: *Session, pane: u8) void {
+ // Reaped here, its status kept, it is no shell to retire.
+ const status = host_io.exitStatus(s.ptys[pane].pid, 100);
+ if (status != null) s.ptys[pane].pid = 0;
s.closePty(pane);
s.harvest();
- s.core.update(.{ .eof = .{ .pane = pane } });
+ s.core.update(.{ .eof = .{ .pane = pane, .status = status } });
}
fn harvest(s: *Session) void {