std: serenity has preadv now

2a9154e77c
This commit is contained in:
Linus Groh 2025-11-01 11:32:35 +01:00 committed by Andrew Kelley
parent bf9082518c
commit afdd04356c
2 changed files with 3 additions and 4 deletions

View File

@ -356,7 +356,7 @@ pub fn ioBasic(t: *Threaded) Io {
};
}
pub const socket_flags_unsupported = native_os.isDarwin() or native_os == .haiku; // 💩💩
pub const socket_flags_unsupported = native_os.isDarwin() or native_os == .haiku;
const have_accept4 = !socket_flags_unsupported;
const have_flock_open_flags = @hasField(posix.O, "EXLOCK");
const have_networking = native_os != .wasi;
@ -367,7 +367,7 @@ const have_futex = switch (builtin.cpu.arch) {
else => true,
};
const have_preadv = switch (native_os) {
.windows, .haiku, .serenity => false, // 💩💩💩
.windows, .haiku => false,
else => true,
};
const have_sig_io = posix.SIG != void and @hasField(posix.SIG, "IO");

View File

@ -1114,9 +1114,8 @@ pub fn ftruncate(fd: fd_t, length: u64) TruncateError!void {
/// * Windows
/// On these systems, the read races with concurrent writes to the same file descriptor.
pub fn preadv(fd: fd_t, iov: []const iovec, offset: u64) PReadError!usize {
// NOTE: serenity does not have preadv but it *does* have pwritev.
const have_pread_but_not_preadv = switch (native_os) {
.windows, .macos, .ios, .watchos, .tvos, .visionos, .haiku, .serenity => true,
.windows, .macos, .ios, .watchos, .tvos, .visionos, .haiku => true,
else => false,
};
if (have_pread_but_not_preadv) {