| ... | @@ -5345,7 +5345,7 @@ fn dirOpenDirHaiku( | ... | @@ -5345,7 +5345,7 @@ fn dirOpenDirHaiku( |
| 5345 | .NOMEM => return error.SystemResources, | 5345 | .NOMEM => return error.SystemResources, |
| 5346 | .NOTDIR => return error.NotDir, | 5346 | .NOTDIR => return error.NotDir, |
| 5347 | .PERM => return error.PermissionDenied, | 5347 | .PERM => return error.PermissionDenied, |
| 5348 | .BUSY => return error.DeviceBusy, | 5348 | .BUSY => |err| return errnoBug(err), |
| 5349 | else => |err| return posix.unexpectedErrno(err), | 5349 | else => |err| return posix.unexpectedErrno(err), |
| 5350 | } | 5350 | } |
| 5351 | }, | 5351 | }, |
| ... | @@ -9812,7 +9812,10 @@ fn fileReadPositionalPosix(file: File, data: []const []u8, offset: u64) File.Rea | ... | @@ -9812,7 +9812,10 @@ fn fileReadPositionalPosix(file: File, data: []const []u8, offset: u64) File.Rea |
| 9812 | if (have_preadv) { | 9812 | if (have_preadv) { |
| 9813 | const syscall: Syscall = try .start(); | 9813 | const syscall: Syscall = try .start(); |
| 9814 | while (true) { | 9814 | while (true) { |
| 9815 | const rc = preadv_sym(file.handle, dest.ptr, @intCast(dest.len), @bitCast(offset)); | 9815 | const rc = if (native_os == .haiku) |
| | 9816 | posix.system.readv_pos(file.handle, @bitCast(offset), dest.ptr, @intCast(dest.len)) |
| | 9817 | else |
| | 9818 | preadv_sym(file.handle, dest.ptr, @intCast(dest.len), @bitCast(offset)); |
| 9816 | switch (posix.errno(rc)) { | 9819 | switch (posix.errno(rc)) { |
| 9817 | .SUCCESS => { | 9820 | .SUCCESS => { |
| 9818 | syscall.finish(); | 9821 | syscall.finish(); |
| ... | @@ -9846,7 +9849,7 @@ fn fileReadPositionalPosix(file: File, data: []const []u8, offset: u64) File.Rea | ... | @@ -9846,7 +9849,7 @@ fn fileReadPositionalPosix(file: File, data: []const []u8, offset: u64) File.Rea |
| 9846 | | 9849 | |
| 9847 | const syscall: Syscall = try .start(); | 9850 | const syscall: Syscall = try .start(); |
| 9848 | while (true) { | 9851 | while (true) { |
| 9849 | const rc = posix.pread(file.handle, dest[0].ptr, @intCast(dest[0].len), @bitCast(offset)); | 9852 | const rc = pread_sym(file.handle, dest[0].base, @intCast(dest[0].len), @bitCast(offset)); |
| 9850 | switch (posix.errno(rc)) { | 9853 | switch (posix.errno(rc)) { |
| 9851 | .SUCCESS => { | 9854 | .SUCCESS => { |
| 9852 | syscall.finish(); | 9855 | syscall.finish(); |
| ... | @@ -10550,7 +10553,10 @@ fn fileWritePositional( | ... | @@ -10550,7 +10553,10 @@ fn fileWritePositional( |
| 10550 | | 10553 | |
| 10551 | const syscall: Syscall = try .start(); | 10554 | const syscall: Syscall = try .start(); |
| 10552 | while (true) { | 10555 | while (true) { |
| 10553 | const rc = pwritev_sym(file.handle, &iovecs, @intCast(iovlen), @bitCast(offset)); | 10556 | const rc = if (native_os == .haiku) |
| | 10557 | posix.system.writev_pos(file.handle, @bitCast(offset), &iovecs, @intCast(iovlen)) |
| | 10558 | else |
| | 10559 | pwritev_sym(file.handle, &iovecs, @intCast(iovlen), @bitCast(offset)); |
| 10554 | switch (posix.errno(rc)) { | 10560 | switch (posix.errno(rc)) { |
| 10555 | .SUCCESS => { | 10561 | .SUCCESS => { |
| 10556 | syscall.finish(); | 10562 | syscall.finish(); |
| ... | @@ -14063,7 +14069,7 @@ pub fn posixSocketModeProtocol(family: posix.sa_family_t, mode: net.Socket.Mode, | ... | @@ -14063,7 +14069,7 @@ pub fn posixSocketModeProtocol(family: posix.sa_family_t, mode: net.Socket.Mode, |
| 14063 | .dgram => posix.SOCK.DGRAM, | 14069 | .dgram => posix.SOCK.DGRAM, |
| 14064 | .seqpacket => posix.SOCK.SEQPACKET, | 14070 | .seqpacket => posix.SOCK.SEQPACKET, |
| 14065 | .raw => posix.SOCK.RAW, | 14071 | .raw => posix.SOCK.RAW, |
| 14066 | .rdm => posix.SOCK.RDM, | 14072 | .rdm => if (@hasDecl(posix.SOCK, "RDM")) posix.SOCK.RDM else return error.OptionUnsupported, |
| 14067 | }, | 14073 | }, |
| 14068 | if (protocol) |p| @intFromEnum(p) else if (is_windows) switch (family) { | 14074 | if (protocol) |p| @intFromEnum(p) else if (is_windows) switch (family) { |
| 14069 | posix.AF.UNIX => switch (mode) { | 14075 | posix.AF.UNIX => switch (mode) { |