| ... | @@ -1569,10 +1569,6 @@ const poll_buffer_len = 64; | ... | @@ -1569,10 +1569,6 @@ const poll_buffer_len = 64; |
| 1569 | pub const default_PATH = "/usr/local/bin:/bin:/usr/bin"; | 1569 | pub 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. |
| 1571 | const max_windows_kernel_bug_retries = 13; | 1571 | const 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. | | |
| 1575 | const max_windows_rename_retries = 3; | | |
| 1576 | | 1572 | |
| 1577 | comptime { | 1573 | comptime { |
| 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, |