authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-02-04 12:46:56-08:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-02-04 16:30:19-08:00
log3078a3197bce73f6ce70117989ea09f991470f50
tree300395e820281affa126d312f05508b07d4186fc
parent0e7d00776e5468b53c2ba07ebfe9fef5abda310a

std.Io.Threaded.dirCreateDirWindows: remove unexpected error handling


1 files changed, 2 insertions(+), 7 deletions(-)

lib/std/Io/Threaded.zig+2-7
...@@ -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 the3321 // 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 finishes3338 // 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 found3353 .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't3354 .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),