Re: UPDATED UnixWare Threads Patch. - Mailing list pgsql-patches
From | Bruce Momjian |
---|---|
Subject | Re: UPDATED UnixWare Threads Patch. |
Date | |
Msg-id | 200308090107.h7917Rc09346@candle.pha.pa.us Whole thread Raw |
In response to | Re: UPDATED UnixWare Threads Patch. (Larry Rosenman <ler@lerctr.org>) |
List | pgsql-patches |
I am going to tackle this one now. I am going to have to add the configure tests suggested, so each platform doesn't need to know if it has a Posix _r function or not. I will add the port-specific parts you mention below. You can test CVS once I am done. --------------------------------------------------------------------------- Larry Rosenman wrote: > > > --On Friday, August 08, 2003 18:56:45 -0500 Larry Rosenman <ler@lerctr.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@lerctr.org > US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749 [ Attachment, skipping... ] > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Don't 'kill -9' the postmaster -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
pgsql-patches by date: