1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-28 23:42:10 +03:00

Make NEED_REENTRANT_FUNC_NAMES _require_ *_r functions, and add tests to

configure to report if they are not found.
This commit is contained in:
Bruce Momjian
2003-08-16 15:35:51 +00:00
parent dcfa89537a
commit edc999b09a
10 changed files with 187 additions and 50 deletions

View File

@ -118,9 +118,6 @@
/* Define to 1 if you have the `getaddrinfo' function. */
#undef HAVE_GETADDRINFO
/* Define to 1 if you have the `gethostbyname_r' function. */
#undef HAVE_GETHOSTBYNAME_R
/* Define to 1 if you have the `gethostname' function. */
#undef HAVE_GETHOSTNAME
@ -136,9 +133,6 @@
/* Define to 1 if you have the `getpeereid' function. */
#undef HAVE_GETPEEREID
/* Define to 1 if you have the `getpwuid_r' function. */
#undef HAVE_GETPWUID_R
/* Define to 1 if you have the `getrusage' function. */
#undef HAVE_GETRUSAGE
@ -378,9 +372,6 @@
/* Define to 1 if you have the `strerror' function. */
#undef HAVE_STRERROR
/* Define to 1 if you have the `strerror_r' function. */
#undef HAVE_STRERROR_R
/* Define to 1 if cpp supports the ANSI # stringizing operator. */
#undef HAVE_STRINGIZE

View File

@ -7,7 +7,7 @@
*
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
*
* $Id: thread.c,v 1.3 2003/08/14 05:27:18 momjian Exp $
* $Id: thread.c,v 1.4 2003/08/16 15:35:51 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -49,7 +49,7 @@
char *
pqStrerror(int errnum, char *strerrbuf, size_t buflen)
{
#if defined(USE_THREADS) && defined(HAVE_STRERROR_R)
#if defined(USE_THREADS) && defined(NEED_REENTRANT_FUNC_NAMES)
/* reentrant strerror_r is available */
/* some early standards had strerror_r returning char * */
strerror_r(errnum, strerrbuf, buflen);
@ -68,7 +68,7 @@ int
pqGetpwuid(uid_t uid, struct passwd *resultbuf, char *buffer,
size_t buflen, struct passwd **result)
{
#if defined(USE_THREADS) && defined(HAVE_GETPWUID_R)
#if defined(USE_THREADS) && defined(NEED_REENTRANT_FUNC_NAMES)
/*
* Early POSIX draft of getpwuid_r() returns 'struct passwd *'.
* getpwuid_r(uid, resultbuf, buffer, buflen)
@ -94,8 +94,7 @@ pqGethostbyname(const char *name,
struct hostent **result,
int *herrno)
{
#if defined(USE_THREADS) && defined(HAVE_GETHOSTBYNAME_R)
#if defined(USE_THREADS) && defined(NEED_REENTRANT_FUNC_NAMES)
/*
* broken (well early POSIX draft) gethostbyname_r() which returns
* 'struct hostent *'

View File

@ -12,4 +12,3 @@ esac
SUPPORTS_THREADS=yes
NEED_REENTRANT_FUNC_NAMES=no

View File

@ -5,13 +5,13 @@ case $host_cpu in
esac
SUPPORTS_THREADS=yes
NEED_REENTRANT_FUNC_NAMES=no
case $host_os in
freebsd2*|freebsd3*|freebsd4*)
THREAD_CFLAGS="-pthread"
NEED_REENTRANT_FUNC_NAMES=yes
;;
*)
THREAD_LIBS="-lc_r"
NEED_REENTRANT_FUNC_NAMES=yes
;;
esac

View File

@ -1,7 +1,7 @@
CFLAGS=-O2
SUPPORTS_THREADS=yes
NEED_REENTRANT_FUNC_NAMES=yes
THREAD_CFLAGS="-D_REENTRANT -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS"
THREAD_LIBS="-lpthread"
NEED_REENTRANT_FUNC_NAMES=yes

View File

@ -2,4 +2,3 @@ CFLAGS='-O2 -pipe'
SUPPORTS_THREADS=yes
NEED_REENTRANT_FUNC_NAMES=no

View File

@ -4,6 +4,7 @@ else
CC="$CC -std"
CFLAGS='-O4 -Olimit 2000'
fi
SUPPORTS_THREADS=yes
THREAD_CFLAGS="-pthread"
SUPPORTS_THREADS=yes
NEED_REENTRANT_FUNC_NAMES=no
THREAD_CFLAGS="-pthread"

View File

@ -10,5 +10,5 @@ else
fi
SUPPORTS_THREADS=yes
THREAD_CFLAGS += -D_REENTRANT
NEED_REENTRANT_FUNC_NAMES=yes
THREAD_CFLAGS += -D_REENTRANT