Skip to content

Commit 99396e6

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 74ffae9 commit 99396e6

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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy