zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 1141bfb21b82f8d3fc353e968a591f2ad9aaa571 (tree)
parent c4f81586f1212dfae8d647ad390676b1fda7bf89
Author: Andrew Kelley <andrew@ziglang.org>
Date:   Tue,  3 Mar 2020 16:52:32 -0500

Darwin can return EBADF for sendfile on non-files

Diffstat:
Mlib/std/os.zig | 6++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/std/os.zig b/lib/std/os.zig @@ -3818,12 +3818,14 @@ pub fn sendfile( switch (err) { 0 => return amt, - EBADF => unreachable, // Always a race condition. EFAULT => unreachable, // Segmentation fault. EINVAL => unreachable, ENOTCONN => unreachable, // `out_fd` is an unconnected socket. - ENOTSUP, ENOTSOCK, ENOSYS => break :sf, + // On macOS version 10.14.6, I observed Darwin return EBADF when + // using sendfile on a valid open file descriptor of a file + // system file. + ENOTSUP, ENOTSOCK, ENOSYS, EBADF => break :sf, EINTR => if (amt != 0) return amt else continue,