authorgravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2026-09-29 15:49:29-04:00
committergravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2026-09-29 15:49:29-04:00
logd48441e87e99fb5c4d29b9cab7a954ef17918ee3
tree988de5e04b6690a34dc5a93afc2056f3d219aaa6
parent78ffc70621910dcdecf5252d9ae4d9b3c8f38f9c

Revert "Threaded: Reduce the number of Windows rename ACCESS_DENIED retries to 3"

This reverts commit 36a308ce42b8dc8c33c733b587152ee533b4bbd4.

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

lib/std/Io/Threaded.zig+2-6
...@@ -1569,10 +1569,6 @@ const poll_buffer_len = 64;...@@ -1569,10 +1569,6 @@ const poll_buffer_len = 64;
1569pub const default_PATH = "/usr/local/bin:/bin:/usr/bin";1569pub const default_PATH = "/usr/local/bin:/bin:/usr/bin";
1570/// There are multiple kernel bugs being worked around with retries.1570/// There are multiple kernel bugs being worked around with retries.
1571const max_windows_kernel_bug_retries = 13;1571const max_windows_kernel_bug_retries = 13;
1572/// Similar in nature to `max_windows_kernel_bug_retries`, but much more likely to
1573/// be a real error that won't go away after a retry, so the number of retries
1574/// is lower.
1575const max_windows_rename_retries = 3;
15761572
1577comptime {1573comptime {
1578 if (@TypeOf(posix.IOV_MAX) != void) assert(max_iovecs_len <= posix.IOV_MAX);1574 if (@TypeOf(posix.IOV_MAX) != void) assert(max_iovecs_len <= posix.IOV_MAX);
...@@ -7742,7 +7738,7 @@ fn dirRenameWindowsInner(...@@ -7742,7 +7738,7 @@ fn dirRenameWindowsInner(
7742 },7738 },
7743 .ACCESS_DENIED => {7739 .ACCESS_DENIED => {
7744 syscall.finish();7740 syscall.finish();
7745 if (max_windows_rename_retries - attempt == 0) break :need_fallback false;7741 if (max_windows_kernel_bug_retries - attempt == 0) break :need_fallback false;
7746 try parking_sleep.sleep(.{ .duration = .{7742 try parking_sleep.sleep(.{ .duration = .{
7747 .raw = .fromMilliseconds((@as(u32, 1) << attempt) >> 1),7743 .raw = .fromMilliseconds((@as(u32, 1) << attempt) >> 1),
7748 .clock = .awake,7744 .clock = .awake,
...@@ -7779,7 +7775,7 @@ fn dirRenameWindowsInner(...@@ -7779,7 +7775,7 @@ fn dirRenameWindowsInner(
7779 .CANCELLED => try syscall.checkCancel(),7775 .CANCELLED => try syscall.checkCancel(),
7780 .ACCESS_DENIED => {7776 .ACCESS_DENIED => {
7781 syscall.finish();7777 syscall.finish();
7782 if (max_windows_rename_retries - attempt == 0) break;7778 if (max_windows_kernel_bug_retries - attempt == 0) break;
7783 try parking_sleep.sleep(.{ .duration = .{7779 try parking_sleep.sleep(.{ .duration = .{
7784 .raw = .fromMilliseconds((@as(u32, 1) << attempt) >> 1),7780 .raw = .fromMilliseconds((@as(u32, 1) << attempt) >> 1),
7785 .clock = .awake,7781 .clock = .awake,