Re: UPDATED UnixWare Threads Patch.

From: Larry Rosenman <ler(at)lerctr(dot)org>
To: pgsql-patches(at)postgresql(dot)org
Subject: Re: UPDATED UnixWare Threads Patch.
Date: 2003-08-09 00:49:12
Message-ID: 53470000.1060390152@lerlaptop.lerctr.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

--On Friday, August 08, 2003 18:56:45 -0500 Larry Rosenman <ler(at)lerctr(dot)org>
wrote:

>
>
> 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.
Grr. I'm an idiot, the following is a CORRECTED version, basically
s/#elsif/#elif/

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

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

Attachment Content-Type Size
pg.patch.2003-08-08 application/octet-stream 1.9 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2003-08-09 01:07:27 Re: UPDATED UnixWare Threads Patch.
Previous Message Manfred Koizar 2003-08-09 00:27:45 Re: Correlation in cost_index()

Browse pgsql-patches by date

  From Date Subject
Next Message Bruce Momjian 2003-08-09 01:07:27 Re: UPDATED UnixWare Threads Patch.
Previous Message Larry Rosenman 2003-08-08 23:56:45 UPDATED UnixWare Threads Patch.