index d4cfc5b26b521eb9bb081462242bff31ec306527..74245b7c423547f7412055a2ea98f123e2bd6197 100755 (executable)
@@ -2909,7 +2909,7 @@ if test "${enable_thread_safety+set}" = set; then
yes)
cat >>confdefs.h <<\_ACEOF
-#define USE_THREADS 1
+#define ENABLE_THREAD_SAFETY 1
_ACEOF
;;
index 55b8121cad10ff498067459dc211a6f980c39748..940524b62cea18115732a9072a699ed149efc2f5 100644 (file)
dnl Process this file with autoconf to produce a configure script.
-dnl $Header: /cvsroot/pgsql/configure.in,v 1.302 2003年11月03日 14:42:08 tgl Exp $
+dnl $Header: /cvsroot/pgsql/configure.in,v 1.303 2003年11月24日 13:16:22 petere Exp $
dnl
dnl Developers, please strive to achieve this order:
dnl
#
AC_MSG_CHECKING([allow thread-safe client libraries])
PGAC_ARG_BOOL(enable, thread-safety, no, [ --enable-thread-safety make client libraries thread-safe],
- [AC_DEFINE([USE_THREADS], 1,
+ [AC_DEFINE([ENABLE_THREAD_SAFETY], 1,
[Define to 1 to build client libraries as thread-safe code. (--enable-thread-safety)])])
AC_MSG_RESULT([$enable_thread_safety])
AC_SUBST(enable_thread_safety)
index cce536adb2d8d5a9caac761b02e42efef1a08160..b53fed22572ed85e0490530b6bd650c0457ad0e2 100644 (file)
/* Define to 1 if you want National Language Support. (--enable-nls) */
#undef ENABLE_NLS
+/* Define to 1 to build client libraries as thread-safe code.
+ (--enable-thread-safety) */
+#undef ENABLE_THREAD_SAFETY
+
/* Define to 1 if gettimeofday() takes only 1 argument. */
#undef GETTIMEOFDAY_1ARG
/* Define to select SysV-style shared memory. */
#undef USE_SYSV_SHARED_MEMORY
-/* Define to 1 to build client libraries as thread-safe code.
- (--enable-thread-safety) */
-#undef USE_THREADS
-
/* Define to select unnamed POSIX semaphores. */
#undef USE_UNNAMED_POSIX_SEMAPHORES
index 4b7683633bda727f0d2d25680616946f9e82d40c..31d558d44769a7810ed2dd1bb7751e2f63829e79 100644 (file)
-/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/ecpglib/connect.c,v 1.17 2003年08月24日 18:36:38 petere Exp $ */
+/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/ecpglib/connect.c,v 1.18 2003年11月24日 13:16:22 petere Exp $ */
#define POSTGRES_ECPG_INTERNAL
#include "postgres_fe.h"
-#ifdef USE_THREADS
+#ifdef ENABLE_THREAD_SAFETY
#include <pthread.h>
#endif
#include "ecpgtype.h"
#include "extern.h"
#include "sqlca.h"
-#ifdef USE_THREADS
+#ifdef ENABLE_THREAD_SAFETY
static pthread_mutex_t connections_mutex = PTHREAD_MUTEX_INITIALIZER;
#endif
static struct connection *all_connections = NULL;
@@ -45,13 +45,13 @@ ECPGget_connection(const char *connection_name)
{
struct connection *ret = NULL;
-#ifdef USE_THREADS
+#ifdef ENABLE_THREAD_SAFETY
pthread_mutex_lock(&connections_mutex);
#endif
ret = ecpg_get_connection_nr(connection_name);
-#ifdef USE_THREADS
+#ifdef ENABLE_THREAD_SAFETY
pthread_mutex_unlock(&connections_mutex);
#endif
@@ -355,7 +355,7 @@ ECPGconnect(int lineno, int c, const char *name, const char *user, const char *p
realname = strdup(dbname);
/* add connection to our list */
-#ifdef USE_THREADS
+#ifdef ENABLE_THREAD_SAFETY
pthread_mutex_lock(&connections_mutex);
#endif
if (connection_name != NULL)
@@ -387,7 +387,7 @@ ECPGconnect(int lineno, int c, const char *name, const char *user, const char *p
char *db = realname ? realname : "<DEFAULT>";
ecpg_finish(this);
-#ifdef USE_THREADS
+#ifdef ENABLE_THREAD_SAFETY
pthread_mutex_unlock(&connections_mutex);
#endif
ECPGlog("connect: could not open database %s on %s port %s %s%s%s%s in line %d\n\t%s\n",
@@ -411,7 +411,7 @@ ECPGconnect(int lineno, int c, const char *name, const char *user, const char *p
ECPGfree(dbname);
return false;
}
-#ifdef USE_THREADS
+#ifdef ENABLE_THREAD_SAFETY
pthread_mutex_unlock(&connections_mutex);
#endif
@@ -440,7 +440,7 @@ ECPGdisconnect(int lineno, const char *connection_name)
struct sqlca_t *sqlca = ECPGget_sqlca();
struct connection *con;
-#ifdef USE_THREADS
+#ifdef ENABLE_THREAD_SAFETY
pthread_mutex_lock(&connections_mutex);
#endif
@@ -461,7 +461,7 @@ ECPGdisconnect(int lineno, const char *connection_name)
if (!ECPGinit(con, connection_name, lineno))
{
-#ifdef USE_THREADS
+#ifdef ENABLE_THREAD_SAFETY
pthread_mutex_unlock(&connections_mutex);
#endif
return (false);
@@ -470,7 +470,7 @@ ECPGdisconnect(int lineno, const char *connection_name)
ecpg_finish(con);
}
-#ifdef USE_THREADS
+#ifdef ENABLE_THREAD_SAFETY
pthread_mutex_unlock(&connections_mutex);
#endif
index d9a77ff3266207aaa70145ddeba32725bbb76ee7..c05fcd5d7e913266764d3597b6333e836952984f 100644 (file)
-/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.16 2003年10月21日 15:34:34 tgl Exp $ */
+/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.17 2003年11月24日 13:16:22 petere Exp $ */
#define POSTGRES_ECPG_INTERNAL
#include "postgres_fe.h"
#include <limits.h>
#include <unistd.h>
-#ifdef USE_THREADS
+#ifdef ENABLE_THREAD_SAFETY
#include <pthread.h>
#endif
#include "ecpgtype.h"
@@ -55,7 +55,7 @@ static struct sqlca_t sqlca_init =
}
};
-#ifdef USE_THREADS
+#ifdef ENABLE_THREAD_SAFETY
static pthread_key_t sqlca_key;
static pthread_once_t sqlca_key_once = PTHREAD_ONCE_INIT;
};
#endif
-#ifdef USE_THREADS
+#ifdef ENABLE_THREAD_SAFETY
static pthread_mutex_t debug_mutex = PTHREAD_MUTEX_INITIALIZER;
static pthread_mutex_t debug_init_mutex = PTHREAD_MUTEX_INITIALIZER;
#endif
@@ -117,7 +117,7 @@ ECPGinit(const struct connection * con, const char *connection_name, const int l
return (true);
}
-#ifdef USE_THREADS
+#ifdef ENABLE_THREAD_SAFETY
static void
ecpg_sqlca_key_init(void)
{
struct sqlca_t *
ECPGget_sqlca(void)
{
-#ifdef USE_THREADS
+#ifdef ENABLE_THREAD_SAFETY
struct sqlca_t *sqlca;
pthread_once(&sqlca_key_once, ecpg_sqlca_key_init);
@@ -211,7 +211,7 @@ ECPGtrans(int lineno, const char *connection_name, const char *transaction)
void
ECPGdebug(int n, FILE *dbgs)
{
-#ifdef USE_THREADS
+#ifdef ENABLE_THREAD_SAFETY
pthread_mutex_lock(&debug_init_mutex);
#endif
debugstream = dbgs;
ECPGlog("ECPGdebug: set to %d\n", simple_debug);
-#ifdef USE_THREADS
+#ifdef ENABLE_THREAD_SAFETY
pthread_mutex_unlock(&debug_init_mutex);
#endif
}
{
va_list ap;
-#ifdef USE_THREADS
+#ifdef ENABLE_THREAD_SAFETY
pthread_mutex_lock(&debug_mutex);
#endif
if (f == NULL)
{
-#ifdef USE_THREADS
+#ifdef ENABLE_THREAD_SAFETY
pthread_mutex_unlock(&debug_mutex);
#endif
return;
ECPGfree(f);
}
-#ifdef USE_THREADS
+#ifdef ENABLE_THREAD_SAFETY
pthread_mutex_unlock(&debug_mutex);
#endif
}
index c77c5586bba5e5e838347632190e23b82fb89bb8..11cd1ca3dc65ba43c02638802f95c5236ab83b39 100644 (file)
*
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
*
- * $Id: thread.c,v 1.12 2003年10月26日 04:29:15 momjian Exp $
+ * $Id: thread.c,v 1.13 2003年11月24日 13:16:22 petere Exp $
*
*-------------------------------------------------------------------------
*/
#else
#include <pwd.h>
#endif
-#if defined(USE_THREADS)
+#if defined(ENABLE_THREAD_SAFETY)
#include <pthread.h>
#endif
char *
pqStrerror(int errnum, char *strerrbuf, size_t buflen)
{
-#if defined(FRONTEND) && defined(USE_THREADS) && defined(NEED_REENTRANT_FUNCS) && defined(HAVE_STRERROR_R)
+#if defined(FRONTEND) && defined(ENABLE_THREAD_SAFETY) && defined(NEED_REENTRANT_FUNCS) && defined(HAVE_STRERROR_R)
/* reentrant strerror_r is available */
/* some early standards had strerror_r returning char * */
strerror_r(errnum, strerrbuf, buflen);
@@ -81,7 +81,7 @@ pqStrerror(int errnum, char *strerrbuf, size_t buflen)
#else
-#if defined(FRONTEND) && defined(USE_THREADS) && defined(NEED_REENTRANT_FUNCS) && !defined(HAVE_STRERROR_R)
+#if defined(FRONTEND) && defined(ENABLE_THREAD_SAFETY) && defined(NEED_REENTRANT_FUNCS) && !defined(HAVE_STRERROR_R)
static pthread_mutex_t strerror_lock = PTHREAD_MUTEX_INITIALIZER;
pthread_mutex_lock(&strerror_lock);
#endif
@@ -89,7 +89,7 @@ pqStrerror(int errnum, char *strerrbuf, size_t buflen)
/* no strerror_r() available, just use strerror */
StrNCpy(strerrbuf, strerror(errnum), buflen);
-#if defined(FRONTEND) && defined(USE_THREADS) && defined(NEED_REENTRANT_FUNCS) && !defined(HAVE_STRERROR_R)
+#if defined(FRONTEND) && defined(ENABLE_THREAD_SAFETY) && defined(NEED_REENTRANT_FUNCS) && !defined(HAVE_STRERROR_R)
pthread_mutex_unlock(&strerror_lock);
#endif
pqGetpwuid(uid_t uid, struct passwd *resultbuf, char *buffer,
size_t buflen, struct passwd **result)
{
-#if defined(FRONTEND) && defined(USE_THREADS) && defined(NEED_REENTRANT_FUNCS) && defined(HAVE_GETPWUID_R)
+#if defined(FRONTEND) && defined(ENABLE_THREAD_SAFETY) && defined(NEED_REENTRANT_FUNCS) && defined(HAVE_GETPWUID_R)
/*
* Early POSIX draft of getpwuid_r() returns 'struct passwd *'.
* getpwuid_r(uid, resultbuf, buffer, buflen)
@@ -117,7 +117,7 @@ pqGetpwuid(uid_t uid, struct passwd *resultbuf, char *buffer,
#else
-#if defined(FRONTEND) && defined(USE_THREADS) && defined(NEED_REENTRANT_FUNCS) && !defined(HAVE_GETPWUID_R)
+#if defined(FRONTEND) && defined(ENABLE_THREAD_SAFETY) && defined(NEED_REENTRANT_FUNCS) && !defined(HAVE_GETPWUID_R)
static pthread_mutex_t getpwuid_lock = PTHREAD_MUTEX_INITIALIZER;
pthread_mutex_lock(&getpwuid_lock);
#endif
@@ -125,7 +125,7 @@ pqGetpwuid(uid_t uid, struct passwd *resultbuf, char *buffer,
/* no getpwuid_r() available, just use getpwuid() */
*result = getpwuid(uid);
-#if defined(FRONTEND) && defined(USE_THREADS) && defined(NEED_REENTRANT_FUNCS) && !defined(HAVE_GETPWUID_R)
+#if defined(FRONTEND) && defined(ENABLE_THREAD_SAFETY) && defined(NEED_REENTRANT_FUNCS) && !defined(HAVE_GETPWUID_R)
/* Use 'buffer' memory for storage of strings used by struct passwd */
if (*result &&
struct hostent **result,
int *herrno)
{
-#if defined(FRONTEND) && defined(USE_THREADS) && defined(NEED_REENTRANT_FUNCS) && defined(HAVE_GETHOSTBYNAME_R)
+#if defined(FRONTEND) && defined(ENABLE_THREAD_SAFETY) && defined(NEED_REENTRANT_FUNCS) && defined(HAVE_GETHOSTBYNAME_R)
/*
* broken (well early POSIX draft) gethostbyname_r() which returns
* 'struct hostent *'
#else
-#if defined(FRONTEND) && defined(USE_THREADS) && defined(NEED_REENTRANT_FUNCS) && !defined(HAVE_GETHOSTBYNAME_R)
+#if defined(FRONTEND) && defined(ENABLE_THREAD_SAFETY) && defined(NEED_REENTRANT_FUNCS) && !defined(HAVE_GETHOSTBYNAME_R)
static pthread_mutex_t gethostbyname_lock = PTHREAD_MUTEX_INITIALIZER;
pthread_mutex_lock(&gethostbyname_lock);
#endif
/* no gethostbyname_r(), just use gethostbyname() */
*result = gethostbyname(name);
-#if defined(FRONTEND) && defined(USE_THREADS) && defined(NEED_REENTRANT_FUNCS) && !defined(HAVE_GETHOSTBYNAME_R)
+#if defined(FRONTEND) && defined(ENABLE_THREAD_SAFETY) && defined(NEED_REENTRANT_FUNCS) && !defined(HAVE_GETHOSTBYNAME_R)
/*
* Use 'buffer' memory for storage of structures used by struct hostent.
if (*result != NULL)
*herrno = h_errno;
-#if defined(FRONTEND) && defined(USE_THREADS) && defined(NEED_REENTRANT_FUNCS) && !defined(HAVE_GETHOSTBYNAME_R)
+#if defined(FRONTEND) && defined(ENABLE_THREAD_SAFETY) && defined(NEED_REENTRANT_FUNCS) && !defined(HAVE_GETHOSTBYNAME_R)
pthread_mutex_unlock(&gethostbyname_lock);
#endif
index 22d925ebef1075b779e2e1d67bf107402e8641af..6cec96ac29a1e4875ea5455785e75bde7eccc1c1 100644 (file)
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Header: /cvsroot/pgsql/src/tools/thread/Attic/thread_test.c,v 1.3 2003年10月24日 20:48:10 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/tools/thread/Attic/thread_test.c,v 1.4 2003年11月24日 13:16:22 petere Exp $
*
* This program tests to see if your standard libc functions use
* pthread_setspecific()/pthread_getspecific() to be thread-safe.
*/
-#ifdef USE_THREADS
+#ifdef ENABLE_THREAD_SAFETY
#include <pthread.h>
#endif
#include <unistd.h>