diff options
Diffstat (limited to 'src/pardes.zig')
| -rw-r--r-- | src/pardes.zig | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/pardes.zig b/src/pardes.zig index 60a5dfe3..1afb1e24 100644 --- a/src/pardes.zig +++ b/src/pardes.zig @@ -5251,6 +5251,12 @@ pub const Pardes = struct { p.reportFailure(id, "shell: directory missing (no such directory)") else p.reportError(id, "shell", err); + // A 9P write that asked for the shell (pty/ctl's exec), waiting on + // it, fails with what was said, as a failed Save's does. + const said = pane.msg[0..pane.msg_len]; + const kept = @import("Messages.zig").clip(said, p.fs.late_failure.len); + @memcpy(p.fs.late_failure[0..kept.len], kept); + p.fs.late_failure_len = @intCast(kept.len); // A command that never started ended: `exit 127`, as a shell says of // a command it could not run, so a follower waiting on its exit // hears one, its tag stops saying it runs, and Kill finds nothing. |
