Commit 30abbca
committed
Retry prim_file:rename on eacces error
On Windows, when creating a snapshot (renaming a checkpoint),
occasionally prim_file:rename failed with `eacces`. It's not clear
why this happens, it appears that Windows may not release the file
handle immediately after closing the file so a close->rename in
a quick succession may sometimes return an error.
With this commit, we just retry after 20ms and so far, in our testing,
the error has never occurred on the second attempt (with a 10ms
delay, it still failed every now and then)
We could have separate macros for eagain and eaccess, but I went with
a share one. One retry seems reasonable in both cases.1 parent 5adba50 commit 30abbca
2 files changed
+12
-8
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | | - | |
15 | | - | |
16 | | - | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
29 | | - | |
| 29 | + | |
| 30 | + | |
30 | 31 | | |
31 | 32 | | |
32 | 33 | | |
33 | | - | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
417 | 417 | | |
418 | 418 | | |
419 | 419 | | |
420 | | - | |
| 420 | + | |
421 | 421 | | |
422 | 422 | | |
423 | 423 | | |
| |||
0 commit comments