Commit 6bcdcf85c7

Andrew Kelley <andrew@ziglang.org>
2025-08-14 07:16:08
std.fs.File.Writer.sendFile: handle sendfile errors
fixes #24842
1 parent 27d6614
Changed files (1)
lib
std
lib/std/fs/File.zig
@@ -1823,6 +1823,11 @@ pub const Writer = struct {
                 .NOBUFS => w.sendfile_err = error.SystemResources,
                 else => |err| w.sendfile_err = posix.unexpectedErrno(err),
             }
+            if (w.sendfile_err != null) {
+                // Give calling code chance to observe the error before trying
+                // something else.
+                return 0;
+            }
             if (sbytes == 0) {
                 file_reader.size = file_reader.pos;
                 return error.EndOfStream;
@@ -1879,6 +1884,11 @@ pub const Writer = struct {
                 .PIPE => w.sendfile_err = error.BrokenPipe,
                 else => |err| w.sendfile_err = posix.unexpectedErrno(err),
             }
+            if (w.sendfile_err != null) {
+                // Give calling code chance to observe the error before trying
+                // something else.
+                return 0;
+            }
             if (len == 0) {
                 file_reader.size = file_reader.pos;
                 return error.EndOfStream;