zig/lib/std/Build
Andrew Kelley 34286530b7 Cache: fix multi-process race condition on macOS
This fixes `.INVAL => unreachable` being triggered by the cache system
on macOS when multiple processes race to create the same compilation.
The problem is that when two processes race to create a file, it
sometimes returns ENOENT even though that error code is nonsensical for
this situation.

Commit 2b0929929d purportedly solved this,
but it did not open the file with write permissions, leading to the
EINVAL panic later on. This commit remedies the situation by introducing
a loop and simply retrying when the ENOENT occurs.
2023-04-18 17:53:47 -07:00
..
Cache move the cache system from compiler to std lib 2023-02-13 06:42:25 -07:00
Cache.zig Cache: fix multi-process race condition on macOS 2023-04-18 17:53:47 -07:00
CheckFileStep.zig std.Build.CheckFileStep: add a way to expect exact 2023-03-15 10:48:14 -07:00
CheckObjectStep.zig build: allow for deferred FileSource matching in CheckObjectStep 2023-03-23 23:46:53 +01:00
CompileStep.zig std.Build: add some more init options to CompileStep 2023-04-15 10:33:08 -07:00
ConfigHeaderStep.zig std.Build.ConfigHeaderStep: integrate with the cache system 2023-03-15 10:48:13 -07:00
FmtStep.zig zig build: many enhancements related to parallel building 2023-03-15 10:48:13 -07:00
InstallArtifactStep.zig std.Build.CompileStep: delete install_step field 2023-04-10 18:35:14 -07:00
InstallDirStep.zig std.Build: audit use of updateFile 2023-03-15 10:48:13 -07:00
InstallFileStep.zig std.Build.InstallFileStep: add missing step dependencies 2023-03-15 10:48:14 -07:00
ObjCopyStep.zig zig objcopy: support the compiler protocol 2023-03-15 10:48:14 -07:00
OptionsStep.zig fix std.Build.OptionsStep 2023-03-19 00:39:29 -04:00
RemoveDirStep.zig std.build.CompileStep: eliminate std.log usage 2023-03-15 10:48:13 -07:00
RunStep.zig CI: more C backend test coverage 2023-04-15 10:33:08 -07:00
Step.zig build-step: remove latest LogStep ref 2023-03-18 15:08:53 -04:00
TranslateCStep.zig CLI: remove --enable-cache option 2023-04-11 08:41:24 -07:00
WriteFileStep.zig make the build runner and test runner talk to each other 2023-03-15 10:48:14 -07:00