zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 11de55d0ddd54afabb3e26a85adba0a1f0bbe35b (tree)
parent 63bd0fe58e80742d273a962c03145ce598f060b6
Author: Andrew Kelley <andrew@ziglang.org>
Date:   Tue, 14 Mar 2023 11:42:00 -0700

std.Build.Cache: handle ENOENT on createFile race

Companion commit to 628fec41593a2d2eca8b504e4fe90de9823aeded

Diffstat:
Mlib/std/Build/Cache.zig | 6+++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/std/Build/Cache.zig b/lib/std/Build/Cache.zig @@ -422,7 +422,11 @@ pub const Manifest = struct { self.have_exclusive_lock = true; return false; // cache miss; exclusive lock already held } else |err| switch (err) { - error.WouldBlock => continue, + // There are no dir components, so you would think + // that this was unreachable, however we have + // observed on macOS two processes racing to do + // openat() with O_CREAT manifest in ENOENT. + error.WouldBlock, error.FileNotFound => continue, else => |e| return e, } },