Make fallback implementation of pg_memory_barrier() work in 9.2 and 9.3.
authorTom Lane <[email protected]>
Sat, 16 Apr 2016 14:41:57 +0000 (10:41 -0400)
committerTom Lane <[email protected]>
Sat, 16 Apr 2016 14:41:57 +0000 (10:41 -0400)
Back-patch 9.4-era commit 44cd47c1d49655c5 into 9.2 and 9.3.  As with
my back-patches of yesterday, this was not seen as necessary at the time
because we didn't expect barrier.h to need to work before 9.4, but
commit 37de8de9e33606a0 invalidated that theory.

Per an attempt to run gaur and pademelon over old branches they've
not been run on since ~2013.

src/backend/main/main.c

index 3f6860244ae485be6aa28244cd7f377d6097cec2..67707d43a2b1d5a1d55efa7b7cec9b5aa61e02c2 100644 (file)
@@ -42,6 +42,8 @@
 
 #include "bootstrap/bootstrap.h"
 #include "postmaster/postmaster.h"
+#include "storage/barrier.h"
+#include "storage/spin.h"
 #include "tcop/tcopprot.h"
 #include "utils/help_config.h"
 #include "utils/memutils.h"
@@ -313,6 +315,12 @@ startup_hacks(const char *progname)
 
    }
 #endif   /* WIN32 */
+
+   /*
+    * Initialize dummy_spinlock, in case we are on a platform where we have
+    * to use the fallback implementation of pg_memory_barrier().
+    */
+   SpinLockInit(&dummy_spinlock);
 }