diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-29 08:02:47 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:16 -0300 |
| commit | 0ec8d0dc6217486446f2fe2156dff136173a4ef5 (patch) | |
| tree | 8e20f9f0fec47f614492d31c7f03a03e3ac1d0c5 /src/detached/server.zig | |
| parent | ba0a0f82be43dde325012b3018b186bc808bdafc (diff) | |
| download | pardes-0ec8d0dc6217486446f2fe2156dff136173a4ef5.tar.gz pardes-0ec8d0dc6217486446f2fe2156dff136173a4ef5.zip | |
Tty in a missing directory fails and makes no pane; a shell that never started answers runs
The host could not start the shell (its chdir failed), and the pane stayed
with no pty: a run written to it waited for a prompt for ever. Tty now
refuses a directory that is not there, `Tty: <dir>: no such directory`,
before making a pane; and a terminal whose shell the host could not start
(Pardes.shellFailed, from each host's spawn) answers any run with
`error shell gone`.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/detached/server.zig')
| -rw-r--r-- | src/detached/server.zig | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/detached/server.zig b/src/detached/server.zig index 13cf4488..7ce8a1d0 100644 --- a/src/detached/server.zig +++ b/src/detached/server.zig @@ -491,7 +491,7 @@ pub const Session = struct { s.core.screen_h, s.core.screen_w, s.ninep, - ) catch |err| return s.core.reportError(pane, "shell", err); + ) catch |err| return s.core.shellFailed(pane, err); const command = if (s.core.panes[pane]) |pn| pn.command != null else false; s.ptys[pane] = .{ .fd = child.file.handle, .pid = child.pid, .cmd = .{ .watched = command and host_io.watchExit(child.pid), .fd = child.file.handle } }; setNonblock(child.file.handle); |
