postgres.git / summary / log / commit / refs

commit    99396e63f2bbb265dc68bd541157a62251ffa8a3
Author:   Tom Lane <tgl@sss.pgh.pa.us>
Date:     Sat Aug 13 00:51:59 2016 +0000

    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


src/test/regress/GNUmakefile | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/test/regress/GNUmakefile b/src/test/regress/GNUmakefile index a4e15d2a110..33320ef1eab 100644 --- a/src/test/regress/GNUmakefile +++ b/src/test/regress/GNUmakefile @@ -116,14 +116,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 [parent: 74ffae953475]