[3.13] GH-118943: Fix a race condition when generating jit_stencils.h (GH-119101)

(cherry picked from commit 4702b7b5bd)
This commit is contained in:
Miss Islington (bot) 2024-05-16 20:37:56 +02:00 committed by GitHub
parent 45fbca983c
commit acffe20683
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 15 additions and 7 deletions

View file

@ -212,13 +212,18 @@ class _Target(typing.Generic[_S, _R]):
):
return
stencil_groups = asyncio.run(self._build_stencils())
with jit_stencils.open("w") as file:
file.write(digest)
if comment:
file.write(f"// {comment}\n\n")
file.write("")
for line in _writer.dump(stencil_groups):
file.write(f"{line}\n")
jit_stencils_new = out / "jit_stencils.h.new"
try:
with jit_stencils_new.open("w") as file:
file.write(digest)
if comment:
file.write(f"// {comment}\n")
file.write("\n")
for line in _writer.dump(stencil_groups):
file.write(f"{line}\n")
jit_stencils_new.replace(jit_stencils)
finally:
jit_stencils_new.unlink(missing_ok=True)
class _COFF(