From 95178c8d24f426d8b4299affa85460f159da586f Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Fri, 23 Apr 2004 22:21:49 +0000
Subject: [PATCH] Report error if thread-test is run without having threading
 enabled in configure.

---
 src/tools/thread/thread_test.c | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/src/tools/thread/thread_test.c b/src/tools/thread/thread_test.c
index 0edf55226b9..5c68df68e24 100644
--- a/src/tools/thread/thread_test.c
+++ b/src/tools/thread/thread_test.c
@@ -6,7 +6,7 @@
  * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- *	$PostgreSQL: pgsql/src/tools/thread/thread_test.c,v 1.21 2004/04/23 20:35:50 momjian Exp $
+ *	$PostgreSQL: pgsql/src/tools/thread/thread_test.c,v 1.22 2004/04/23 22:21:49 momjian Exp $
  *
  *	This program tests to see if your standard libc functions use
  *	pthread_setspecific()/pthread_getspecific() to be thread-safe.
@@ -20,10 +20,10 @@
  *-------------------------------------------------------------------------
  */
 
-#include <pthread.h>
-#include <unistd.h>
 #include <stdio.h>
+
 #include <stdlib.h>
+#include <unistd.h>
 #include <netdb.h>
 #include <sys/types.h>
 #include <pwd.h>
@@ -33,6 +33,20 @@
 
 #include "postgres.h"
 
+#ifndef ENABLE_THREAD_SAFETY
+int
+main(int argc, char *argv[])
+{
+	fprintf(stderr, "This PostgreSQL build does not support threads.\n");
+	fprintf(stderr, "Perhaps rerun 'configure' using '--enable-thread-safety'.\n");
+	return 1;
+}
+
+#else
+
+/* This must be down here because this is the code that uses threads. */
+#include "pthread.h"
+
 void		func_call_1(void);
 void		func_call_2(void);
 
@@ -311,3 +325,5 @@ func_call_2(void)
 	pthread_mutex_lock(&init_mutex);	/* wait for parent to test */
 	pthread_mutex_unlock(&init_mutex);
 }
+#endif /* !ENABLE_THREAD_SAFETY */
+
-- 
GitLab