diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-28 23:13:57 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:15 -0300 |
| commit | 90530f893236c665deb9f5bddc925ee1fe51cca5 (patch) | |
| tree | f9fb5a34731eab09fddae5751d3cc8450c796853 /src/tty | |
| parent | 8b2a55f31169ede82e11a573ab655e72e7831fe7 (diff) | |
| download | pardes-90530f893236c665deb9f5bddc925ee1fe51cca5.tar.gz pardes-90530f893236c665deb9f5bddc925ee1fe51cca5.zip | |
A failed Dump or a Restore of no dump fails its write, before any warning
A Dump into a DumpDir it could not write, or a Restore of a file that is
not a dump, answered a ctl write with rc 0 and only a message, and the
Restore warned about unsaved panes before it ever looked at the file. The
hosts' dump write now fails the waiting 9P write with EIO (the late failure
a Save uses), naming the path and the reason in the log, and Restore parses
the file before its unsaved-panes refusal, failing with `not a pardes
dump`.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/tty')
| -rw-r--r-- | src/tty/tty.zig | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/tty/tty.zig b/src/tty/tty.zig index 96aec9a9..754b4b96 100644 --- a/src/tty/tty.zig +++ b/src/tty/tty.zig @@ -1329,8 +1329,8 @@ const Shell = struct { fn writeDump(ctx: ?*anyopaque, bytes: []const u8) void { const s = of(ctx); var pbuf: [1024:0]u8 = undefined; - const path = pardes.dump.outPath(&pbuf, s.core.settings.dump_dir.get()) orelse return; - filesystem.write(s.core, path, bytes) catch |err| return s.core.reportError(0, "dump", err); + const path = pardes.dump.outPath(&pbuf, s.core.settings.dump_dir.get()) orelse return s.core.dumpFailed(s.core.settings.dump_dir.get(), error.NoDumpDirectory); + filesystem.write(s.core, path, bytes) catch |err| return s.core.dumpFailed(path, err); s.core.setLastDump(path); } |
