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:
@ -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
|
||||
|
||||
|
@ -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 *'
|
||||
|
@ -12,4 +12,3 @@ esac
|
||||
|
||||
SUPPORTS_THREADS=yes
|
||||
NEED_REENTRANT_FUNC_NAMES=no
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -2,4 +2,3 @@ CFLAGS='-O2 -pipe'
|
||||
|
||||
SUPPORTS_THREADS=yes
|
||||
NEED_REENTRANT_FUNC_NAMES=no
|
||||
|
||||
|
@ -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"
|
||||
|
@ -10,5 +10,5 @@ else
|
||||
fi
|
||||
|
||||
SUPPORTS_THREADS=yes
|
||||
THREAD_CFLAGS += -D_REENTRANT
|
||||
NEED_REENTRANT_FUNC_NAMES=yes
|
||||
THREAD_CFLAGS += -D_REENTRANT
|
||||
|
Reference in New Issue
Block a user