From: Peter Johnson Date: Mon, 3 Oct 2011 06:20:38 +0000 (-0700) Subject: re2c: Use tmpfile instead of fixed temporary filename. X-Git-Tag: v1.2.0~5 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2bd66514b6b100887c19d8598da38347b3cff40e;p=yasm re2c: Use tmpfile instead of fixed temporary filename. This could cause a race condition when running parallel make. Tracked down by Volker Braun. [#238 state:resolved] [#165 state:resolved] --- diff --git a/tools/re2c/code.c b/tools/re2c/code.c index a3341cb4..8a78eaa0 100644 --- a/tools/re2c/code.c +++ b/tools/re2c/code.c @@ -844,14 +844,13 @@ void DFA_emit(DFA *d, FILE *o){ nOrgOline = oline; maxFillIndexes = vFillIndexes; orgVFillIndexes = vFillIndexes; - tmpo = fopen("re2c.tmp", "wt"); + tmpo = tmpfile(); for(s = d->head; s; s = s->next){ int readCh = 0; State_emit(s, tmpo, &readCh); Go_genGoto(&s->go, tmpo, s, s->next, &readCh); } fclose(tmpo); - remove("re2c.tmp"); maxFillIndexes = vFillIndexes; vFillIndexes = orgVFillIndexes; oline = nOrgOline;