aboutsummaryrefslogtreecommitdiff
path: root/lib/std/Build
diff options
context:
space:
mode:
Diffstat (limited to 'lib/std/Build')
-rw-r--r--lib/std/Build/Cache.zig6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/std/Build/Cache.zig b/lib/std/Build/Cache.zig
index 6c5c876c8b..92e20b1f9d 100644
--- 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,
}
},