8000 Fix regression test parallel-make hazard. · s-monk/postgres@8c44731 · GitHub
[go: up one dir, main page]

Skip to content

Commit 8c44731

Browse files
committed
Fix regression test parallel-make hazard.
Back-patch 9.4-era commit 384f933 into the previous branches. Although that was only advertised as repairing a problem with missed header-file dependencies, it turns out to also be important for parallel make safety. The previous coding allowed two independent make jobs to get launched concurrently in contrib/spi. Normally this would be OK, because they are building independent targets; but if --enable-depend is in use, it's unsafe, because one make run might try to read a .deps file that the other one is in process of rewriting. This is evidently the cause of buildfarm member francolin's recent failure in the 9.2 branch. I believe this patch will result in only one subsidiary make run, making it safe(r). Report: http://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=francolin&dt=2016-08-12%2017%3A12%3A52
1 parent ceb0053 commit 8c44731

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

src/test/regress/GNUmakefile

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -116,14 +116,19 @@ autoinc$(DLSUFFIX): $(top_builddir)/contrib/spi/autoinc$(DLSUFFIX)
116116
dummy_seclabel$(DLSUFFIX): $(top_builddir)/contrib/dummy_seclabel/dummy_seclabel$(DLSUFFIX)
117117
cp $< $@
118118

119-
$(top_builddir)/contrib/spi/refint$(DLSUFFIX): $(top_srcdir)/contrib/spi/refint.c
120-
$(MAKE) -C $(top_builddir)/contrib/spi refint$(DLSUFFIX)
119+
$(top_builddir)/contrib/spi/refint$(DLSUFFIX): | submake-contrib-spi ;
121120

122-
$(top_builddir)/contrib/spi/autoinc$(DLSUFFIX): $(top_srcdir)/contrib/spi/autoinc.c
123-
$(MAKE) -C $(top_builddir)/contrib/spi autoinc$(DLSUFFIX)
121+
$(top_builddir)/contrib/spi/autoinc$(DLSUFFIX): | submake-contrib-spi ;
124122

125-
$(top_builddir)/contrib/dummy_seclabel/dummy_seclabel$(DLSUFFIX): $(top_builddir)/contrib/dummy_seclabel/dummy_seclabel.c
126-
$(MAKE) -C $(top_builddir)/contrib/dummy_seclabel dummy_seclabel$(DLSUFFIX)
123+
$(top_builddir)/contrib/dummy_seclabel/dummy_seclabel$(DLSUFFIX): | submake-contrib-dummy_seclabel ;
124+
125+
submake-contrib-spi:
126+
$(MAKE) -C $(top_builddir)/contrib/spi
127+
128+
submake-contrib-dummy_seclabel:
129+
$(MAKE) -C $(top_builddir)/contrib/dummy_seclabel
130+
131+
.PHONY: submake-contrib-spi submake-contrib-dummy_seclabel
127132

128133
# Tablespace setup
129134

0 commit comments

Comments
 (0)
0