summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2016-08-12 20:51:59 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2016-08-12 20:51:59 -0400
commitd90463bde1f640f00b77a4a82923ce92fd737901 (patch)
tree8aef5bc0d09931b6f9f40564d364a998a9c9c2ad /src
parent16cc6d23b8d012edb92b3b4b5fccf5200127887c (diff)
Fix regression test parallel-make hazard.
Back-patch 9.4-era commit 384f933046dc9e9a2b416f5f7b3be30b93587c63 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
Diffstat (limited to 'src')
-rw-r--r--src/test/regress/GNUmakefile17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/test/regress/GNUmakefile b/src/test/regress/GNUmakefile
index 7309b001144..d5935b6c408 100644
--- a/src/test/regress/GNUmakefile
+++ b/src/test/regress/GNUmakefile
@@ -111,14 +111,19 @@ autoinc$(DLSUFFIX): $(top_builddir)/contrib/spi/autoinc$(DLSUFFIX)
dummy_seclabel$(DLSUFFIX): $(top_builddir)/contrib/dummy_seclabel/dummy_seclabel$(DLSUFFIX)
cp $< $@
-$(top_builddir)/contrib/spi/refint$(DLSUFFIX): $(top_srcdir)/contrib/spi/refint.c
- $(MAKE) -C $(top_builddir)/contrib/spi refint$(DLSUFFIX)
+$(top_builddir)/contrib/spi/refint$(DLSUFFIX): | submake-contrib-spi ;
-$(top_builddir)/contrib/spi/autoinc$(DLSUFFIX): $(top_srcdir)/contrib/spi/autoinc.c
- $(MAKE) -C $(top_builddir)/contrib/spi autoinc$(DLSUFFIX)
+$(top_builddir)/contrib/spi/autoinc$(DLSUFFIX): | submake-contrib-spi ;
-$(top_builddir)/contrib/dummy_seclabel/dummy_seclabel$(DLSUFFIX): $(top_builddir)/contrib/dummy_seclabel/dummy_seclabel.c
- $(MAKE) -C $(top_builddir)/contrib/dummy_seclabel dummy_seclabel$(DLSUFFIX)
+$(top_builddir)/contrib/dummy_seclabel/dummy_seclabel$(DLSUFFIX): | submake-contrib-dummy_seclabel ;
+
+submake-contrib-spi:
+ $(MAKE) -C $(top_builddir)/contrib/spi
+
+submake-contrib-dummy_seclabel:
+ $(MAKE) -C $(top_builddir)/contrib/dummy_seclabel
+
+.PHONY: submake-contrib-spi submake-contrib-dummy_seclabel
# Tablespace setup