gh-110429: Fix race condition in "make regen-all" (#110433)

"make regen-pegen" now creates a temporary file called "parser.c.new"
instead of "parser.new.c". Previously, if "make clinic" was run in
parallel with "make regen-all", clinic may try but fail to open
"parser.new.c" if the temporay file was removed in the meanwhile.
This commit is contained in:
Victor Stinner 2023-10-05 22:26:37 +02:00 committed by GitHub
parent d257479c2f
commit fb6c4ed2bb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1399,8 +1399,8 @@ regen-pegen:
PYTHONPATH=$(srcdir)/Tools/peg_generator $(PYTHON_FOR_REGEN) -m pegen -q c \
$(srcdir)/Grammar/python.gram \
$(srcdir)/Grammar/Tokens \
-o $(srcdir)/Parser/parser.new.c
$(UPDATE_FILE) $(srcdir)/Parser/parser.c $(srcdir)/Parser/parser.new.c
-o $(srcdir)/Parser/parser.c.new
$(UPDATE_FILE) $(srcdir)/Parser/parser.c $(srcdir)/Parser/parser.c.new
.PHONY: regen-ast
regen-ast: