authorgravatar for mail@linusgroh.deLinus Groh <mail@linusgroh.de> 2025-11-01 11:32:35+01:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-11-02 14:45:32-08:00
logafdd04356cbf7821e1f992d1f3aedf7226a7e564
tree24c7ccad792a828636fcdb981633251210864a7a
parentbf9082518c32ce7d53d011777bf8d8056472cbf9

std: serenity has preadv now

https://github.com/SerenityOS/serenity/commit/2a9154e77c61d79d4b96b5f957aca2d70325ac6d

2 files changed, 3 insertions(+), 4 deletions(-)

lib/std/Io/Threaded.zig+2-2
......@@ -356,7 +356,7 @@ pub fn ioBasic(t: *Threaded) Io {
356356 };
357357}
358358
359pub const socket_flags_unsupported = native_os.isDarwin() or native_os == .haiku; // 💩💩
359pub const socket_flags_unsupported = native_os.isDarwin() or native_os == .haiku;
360360const have_accept4 = !socket_flags_unsupported;
361361const have_flock_open_flags = @hasField(posix.O, "EXLOCK");
362362const have_networking = native_os != .wasi;
......@@ -367,7 +367,7 @@ const have_futex = switch (builtin.cpu.arch) {
367367 else => true,
368368};
369369const have_preadv = switch (native_os) {
370 .windows, .haiku, .serenity => false, // 💩💩💩
370 .windows, .haiku => false,
371371 else => true,
372372};
373373const have_sig_io = posix.SIG != void and @hasField(posix.SIG, "IO");
lib/std/posix.zig+1-2
......@@ -1114,9 +1114,8 @@ pub fn ftruncate(fd: fd_t, length: u64) TruncateError!void {
11141114/// * Windows
11151115/// On these systems, the read races with concurrent writes to the same file descriptor.
11161116pub fn preadv(fd: fd_t, iov: []const iovec, offset: u64) PReadError!usize {
1117 // NOTE: serenity does not have preadv but it *does* have pwritev.
11181117 const have_pread_but_not_preadv = switch (native_os) {
1119 .windows, .macos, .ios, .watchos, .tvos, .visionos, .haiku, .serenity => true,
1118 .windows, .macos, .ios, .watchos, .tvos, .visionos, .haiku => true,
11201119 else => false,
11211120 };
11221121 if (have_pread_but_not_preadv) {