| ... | ... | @@ -7954,7 +7954,7 @@ fn fileReadStreamingPosix(userdata: ?*anyopaque, file: File, data: []const []u8) |
| 7954 | 7954 | syscall.finish(); |
| 7955 | 7955 | return nread; |
| 7956 | 7956 | }, |
| 7957 | | .INTR => { |
| 7957 | .INTR, .TIMEDOUT => { |
| 7958 | 7958 | try syscall.checkCancel(); |
| 7959 | 7959 | continue; |
| 7960 | 7960 | }, |
| ... | ... | @@ -7970,7 +7970,6 @@ fn fileReadStreamingPosix(userdata: ?*anyopaque, file: File, data: []const []u8) |
| 7970 | 7970 | .NOMEM => return error.SystemResources, |
| 7971 | 7971 | .NOTCONN => return error.SocketUnconnected, |
| 7972 | 7972 | .CONNRESET => return error.ConnectionResetByPeer, |
| 7973 | | .TIMEDOUT => return error.Timeout, |
| 7974 | 7973 | .NOTCAPABLE => return error.AccessDenied, |
| 7975 | 7974 | else => |err| return posix.unexpectedErrno(err), |
| 7976 | 7975 | } |
| ... | ... | @@ -7987,7 +7986,7 @@ fn fileReadStreamingPosix(userdata: ?*anyopaque, file: File, data: []const []u8) |
| 7987 | 7986 | syscall.finish(); |
| 7988 | 7987 | return @intCast(rc); |
| 7989 | 7988 | }, |
| 7990 | | .INTR => { |
| 7989 | .INTR, .TIMEDOUT => { |
| 7991 | 7990 | try syscall.checkCancel(); |
| 7992 | 7991 | continue; |
| 7993 | 7992 | }, |
| ... | ... | @@ -7997,9 +7996,9 @@ fn fileReadStreamingPosix(userdata: ?*anyopaque, file: File, data: []const []u8) |
| 7997 | 7996 | .INVAL => |err| return errnoBug(err), |
| 7998 | 7997 | .FAULT => |err| return errnoBug(err), |
| 7999 | 7998 | .AGAIN => return error.WouldBlock, |
| 8000 | | .BADF => |err| { |
| 7999 | .BADF => { |
| 8001 | 8000 | if (native_os == .wasi) return error.IsDir; // File operation on directory. |
| 8002 | | return errnoBug(err); // File descriptor used after closed. |
| 8001 | return error.NotOpenForReading; |
| 8003 | 8002 | }, |
| 8004 | 8003 | .IO => return error.InputOutput, |
| 8005 | 8004 | .ISDIR => return error.IsDir, |
| ... | ... | @@ -8007,7 +8006,6 @@ fn fileReadStreamingPosix(userdata: ?*anyopaque, file: File, data: []const []u8) |
| 8007 | 8006 | .NOMEM => return error.SystemResources, |
| 8008 | 8007 | .NOTCONN => return error.SocketUnconnected, |
| 8009 | 8008 | .CONNRESET => return error.ConnectionResetByPeer, |
| 8010 | | .TIMEDOUT => return error.Timeout, |
| 8011 | 8009 | else => |err| return posix.unexpectedErrno(err), |
| 8012 | 8010 | } |
| 8013 | 8011 | }, |
| ... | ... | @@ -8136,10 +8134,10 @@ fn fileReadPositionalPosix(userdata: ?*anyopaque, file: File, data: []const []u8 |
| 8136 | 8134 | .CONNRESET => |err| return syscall.errnoBug(err), // not a socket |
| 8137 | 8135 | .INVAL => |err| return syscall.errnoBug(err), |
| 8138 | 8136 | .FAULT => |err| return syscall.errnoBug(err), |
| 8139 | | .BADF => |err| { |
| 8137 | .BADF => { |
| 8140 | 8138 | syscall.finish(); |
| 8141 | 8139 | if (native_os == .wasi) return error.IsDir; // File operation on directory. |
| 8142 | | return errnoBug(err); // File descriptor used after closed. |
| 8140 | return error.NotOpenForReading; |
| 8143 | 8141 | }, |
| 8144 | 8142 | else => |err| return syscall.unexpectedErrno(err), |
| 8145 | 8143 | } |
| ... | ... | @@ -8793,7 +8791,7 @@ fn fileWritePositional( |
| 8793 | 8791 | .INVAL => |err| return errnoBug(err), |
| 8794 | 8792 | .FAULT => |err| return errnoBug(err), |
| 8795 | 8793 | .AGAIN => |err| return errnoBug(err), |
| 8796 | | .BADF => |err| return errnoBug(err), // use after free |
| 8794 | .BADF => return error.NotOpenForWriting, |
| 8797 | 8795 | .DESTADDRREQ => |err| return errnoBug(err), // `connect` was never called. |
| 8798 | 8796 | .DQUOT => return error.DiskQuota, |
| 8799 | 8797 | .FBIG => return error.FileTooBig, |
| ... | ... | @@ -8828,7 +8826,7 @@ fn fileWritePositional( |
| 8828 | 8826 | .FAULT => |err| return syscall.errnoBug(err), |
| 8829 | 8827 | .DESTADDRREQ => |err| return syscall.errnoBug(err), // `connect` was never called. |
| 8830 | 8828 | .CONNRESET => |err| return syscall.errnoBug(err), // Not a socket handle. |
| 8831 | | .BADF => |err| return syscall.errnoBug(err), // use after free |
| 8829 | .BADF => return syscall.fail(error.NotOpenForWriting), |
| 8832 | 8830 | .AGAIN => return syscall.fail(error.WouldBlock), |
| 8833 | 8831 | .DQUOT => return syscall.fail(error.DiskQuota), |
| 8834 | 8832 | .FBIG => return syscall.fail(error.FileTooBig), |
| ... | ... | @@ -16636,7 +16634,7 @@ fn mmSyncWrite(file: File, memory: []u8, offset: u64) File.WritePositionalError! |
| 16636 | 16634 | .FAULT => |err| return syscall.errnoBug(err), |
| 16637 | 16635 | .DESTADDRREQ => |err| return syscall.errnoBug(err), // not a socket |
| 16638 | 16636 | .CONNRESET => |err| return syscall.errnoBug(err), // not a socket |
| 16639 | | .BADF => |err| return syscall.errnoBug(err), // use after free |
| 16637 | .BADF => return syscall.fail(error.NotOpenForWriting), |
| 16640 | 16638 | .AGAIN => return syscall.fail(error.WouldBlock), |
| 16641 | 16639 | .DQUOT => return syscall.fail(error.DiskQuota), |
| 16642 | 16640 | .FBIG => return syscall.fail(error.FileTooBig), |