| ... | @@ -3321,7 +3321,7 @@ fn dirCreateDirWindows(userdata: ?*anyopaque, dir: Dir, sub_path: []const u8, pe | ... | @@ -3321,7 +3321,7 @@ fn dirCreateDirWindows(userdata: ?*anyopaque, dir: Dir, sub_path: []const u8, pe |
| 3321 | // after an executable file is closed. Here we work around the | 3321 | // after an executable file is closed. Here we work around the |
| 3322 | // kernel bug with retry attempts. | 3322 | // kernel bug with retry attempts. |
| 3323 | syscall.finish(); | 3323 | syscall.finish(); |
| 3324 | if (max_windows_kernel_bug_retries - attempt == 0) return error.FileBusy; | 3324 | if (max_windows_kernel_bug_retries - attempt == 0) return error.Unexpected; |
| 3325 | try parking_sleep.sleep(.{ .duration = .{ | 3325 | try parking_sleep.sleep(.{ .duration = .{ |
| 3326 | .raw = .fromMilliseconds((@as(u32, 1) << attempt) >> 1), | 3326 | .raw = .fromMilliseconds((@as(u32, 1) << attempt) >> 1), |
| 3327 | .clock = .awake, | 3327 | .clock = .awake, |
| ... | @@ -3338,7 +3338,7 @@ fn dirCreateDirWindows(userdata: ?*anyopaque, dir: Dir, sub_path: []const u8, pe | ... | @@ -3338,7 +3338,7 @@ fn dirCreateDirWindows(userdata: ?*anyopaque, dir: Dir, sub_path: []const u8, pe |
| 3338 | // this other than retrying the creation after the OS finishes | 3338 | // this other than retrying the creation after the OS finishes |
| 3339 | // the deletion. | 3339 | // the deletion. |
| 3340 | syscall.finish(); | 3340 | syscall.finish(); |
| 3341 | if (max_windows_kernel_bug_retries - attempt == 0) return error.FileBusy; | 3341 | if (max_windows_kernel_bug_retries - attempt == 0) return error.Unexpected; |
| 3342 | try parking_sleep.sleep(.{ .duration = .{ | 3342 | try parking_sleep.sleep(.{ .duration = .{ |
| 3343 | .raw = .fromMilliseconds((@as(u32, 1) << attempt) >> 1), | 3343 | .raw = .fromMilliseconds((@as(u32, 1) << attempt) >> 1), |
| 3344 | .clock = .awake, | 3344 | .clock = .awake, |
| ... | @@ -3352,15 +3352,10 @@ fn dirCreateDirWindows(userdata: ?*anyopaque, dir: Dir, sub_path: []const u8, pe | ... | @@ -3352,15 +3352,10 @@ fn dirCreateDirWindows(userdata: ?*anyopaque, dir: Dir, sub_path: []const u8, pe |
| 3352 | .OBJECT_PATH_NOT_FOUND => return syscall.fail(error.FileNotFound), | 3352 | .OBJECT_PATH_NOT_FOUND => return syscall.fail(error.FileNotFound), |
| 3353 | .BAD_NETWORK_PATH => return syscall.fail(error.NetworkNotFound), // \\server was not found | 3353 | .BAD_NETWORK_PATH => return syscall.fail(error.NetworkNotFound), // \\server was not found |
| 3354 | .BAD_NETWORK_NAME => return syscall.fail(error.NetworkNotFound), // \\server was found but \\server\share wasn't | 3354 | .BAD_NETWORK_NAME => return syscall.fail(error.NetworkNotFound), // \\server was found but \\server\share wasn't |
| 3355 | .NO_MEDIA_IN_DEVICE => return syscall.fail(error.NoDevice), | | |
| 3356 | .ACCESS_DENIED => return syscall.fail(error.AccessDenied), | 3355 | .ACCESS_DENIED => return syscall.fail(error.AccessDenied), |
| 3357 | .PIPE_BUSY => return syscall.fail(error.PipeBusy), | | |
| 3358 | .PIPE_NOT_AVAILABLE => return syscall.fail(error.NoDevice), | | |
| 3359 | .OBJECT_NAME_COLLISION => return syscall.fail(error.PathAlreadyExists), | 3356 | .OBJECT_NAME_COLLISION => return syscall.fail(error.PathAlreadyExists), |
| 3360 | .FILE_IS_A_DIRECTORY => return syscall.fail(error.IsDir), | | |
| 3361 | .NOT_A_DIRECTORY => return syscall.fail(error.NotDir), | 3357 | .NOT_A_DIRECTORY => return syscall.fail(error.NotDir), |
| 3362 | .USER_MAPPED_FILE => return syscall.fail(error.AccessDenied), | 3358 | .USER_MAPPED_FILE => return syscall.fail(error.AccessDenied), |
| 3363 | .VIRUS_INFECTED, .VIRUS_DELETED => return syscall.fail(error.AntivirusInterference), | | |
| 3364 | .INVALID_PARAMETER => |status| return syscall.ntstatusBug(status), | 3359 | .INVALID_PARAMETER => |status| return syscall.ntstatusBug(status), |
| 3365 | .OBJECT_PATH_SYNTAX_BAD => |status| return syscall.ntstatusBug(status), | 3360 | .OBJECT_PATH_SYNTAX_BAD => |status| return syscall.ntstatusBug(status), |
| 3366 | .INVALID_HANDLE => |status| return syscall.ntstatusBug(status), | 3361 | .INVALID_HANDLE => |status| return syscall.ntstatusBug(status), |