Re: Does parallel make require guards against duplicate actions?

From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: Does parallel make require guards against duplicate actions?
Date: 2010-01-05 15:24:59
Message-ID: 1262705099.21041.2.camel@fsopti579.F-Secure.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On mån, 2010-01-04 at 21:58 -0500, Tom Lane wrote:
> The old Gen_fmgrtab.sh script used temporary file names that included
> its process PID. It had this comment about that:
>
> # We use the temporary files to avoid problems with concurrent runs
> # (which can happen during parallel make).
>
> The new implementation uses temp files that just have ".tmp" appended to
> the target file name. If there is a risk that "make -j" will run the
> same action twice in parallel, this isn't good enough. While it
> wouldn't be too tough to add the PID to the scripts, I wonder whether
> this comment is about a real problem or just a flight of fancy. It
> doesn't seem to me that parallel make ought to be stupid enough to
> do the same action twice. Anybody know?

When you have only one makefile, this shouldn't happen if the rules are
written correctly. But when the parallel make is initiated from the
top, plus a decade-old buggy gmake, anything can happen. :-/ It's
probably worth the small extra effort to be robust against this when the
alternative is possible slightly butchered catalog files.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2010-01-05 15:27:24 Re: pg_migrator issues
Previous Message Robert Haas 2010-01-05 15:17:05 Re: patch - per-tablespace random_page_cost/seq_page_cost