UPDATED UnixWare Threads Patch. - Mailing list pgsql-patches

From Larry Rosenman
Subject UPDATED UnixWare Threads Patch.
Date
Msg-id 19890000.1060387005@lerlaptop.lerctr.org
Whole thread Raw
Responses Re: UPDATED UnixWare Threads Patch.
Re: UPDATED UnixWare Threads Patch.
List pgsql-patches

Here is the updated UnixWare threads patch.  I need some help to set the
HAVE_POSIX_GETPWUID_R define from configure, but this will suffice for now.

This also includes my recommendation for the Compiler Bug issue.

Please Apply, and if one of the configure guru's can help here, I'd be most
appreciative.

LER

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    8 Aug 2003 23:53:35 -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);
+#elsif 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    8 Aug 2003 23:53:35 -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

--
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749

Attachment

pgsql-patches by date:

Previous
From: Joe Conway
Date:
Subject: Re: [HACKERS] IS OF
Next
From: Larry Rosenman
Date:
Subject: Re: UPDATED UnixWare Threads Patch.