Index: src/port/thread.c =================================================================== RCS file: /projects/cvsroot/pgsql-server/src/port/thread.c,v retrieving revision 1.2 diff -u -r1.2 thread.c --- src/port/thread.c 8 Aug 2003 03:09:56 -0000 1.2 +++ src/port/thread.c 9 Aug 2003 00:47:00 -0000 @@ -40,13 +40,18 @@ 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(HAVE_GETPWUID_R) && !defined(HAVE_POSIX_GETPWUID_R) /* * broken (well early POSIX draft) getpwuid_r() which returns 'struct * passwd *' */ *result = getpwuid_r(uid, resultbuf, buffer, buflen); +#elif defined(USE_THREADS) && defined(HAVE_GETPWUID_R) && defined(HAVE_POSIX_GETPWUID_R) + /* + * SUSv2/POSIX getpwuid_r + */ + return getpwuid_r(uid, resultbuf, buffer, buflen, result); #else /* no getpwuid_r() available, just use getpwuid() */ *result = getpwuid(uid); Index: src/template/unixware =================================================================== RCS file: /projects/cvsroot/pgsql-server/src/template/unixware,v retrieving revision 1.11 diff -u -r1.11 unixware --- src/template/unixware 4 Sep 2002 22:54:18 -0000 1.11 +++ src/template/unixware 9 Aug 2003 00:47:00 -0000 @@ -1,5 +1,13 @@ +SUPPORTS_THREADS=yes if test "$GCC" = yes; then - CFLAGS=-O2 + CFLAGS="-O2 -DHAVE_POSIX_GETPWUID_R" + THREAD_CFLAGS="-pthread -D_REENTRANT" + NEED_REENTRANT_FUNC_NAMES=yes else - CFLAGS='-O -K inline' +# the -Kno_host is temporary for a bug in the compiler. See -hackers +# discussion on 7-8/Aug/2003. +# when the 7.1.3UP3 or later compiler is out, we can do a version check. + CFLAGS='-O -Kinline,no_host -DHAVE_POSIX_GETPWUID_R' + THREAD_CFLAGS="-D_REENTRANT -K pthread -DHAVE_POSIX_GETPWUID_R" + NEED_REENTRANT_FUNC_NAMES=yes fi