[libcxx-commits] [libcxx] [libc++][lit] Atomically update the persistent cache (PR #66538)

Alexander Richardson via libcxx-commits libcxx-commits at lists.llvm.org
Fri Sep 15 13:23:51 PDT 2023


================
@@ -69,8 +69,12 @@ def f(config, *args, **kwargs):
             if cacheKey not in cache:
                 cache[cacheKey] = function(config, *args, **kwargs)
                 # Update the persistent cache so it knows about the new key
-                with open(persistentCache, "wb") as cacheFile:
+                # We write to a temporary file and rename the result to ensure
----------------
arichardson wrote:

Hmm that's a good point, in my limited testing this was enough to avoid the race, but really it should be a per-shard suffix. Will update to use the PID.

https://github.com/llvm/llvm-project/pull/66538


More information about the libcxx-commits mailing list