On Fri, 29 Aug 2003, Larry Rosenman wrote:
> > > --On Saturday, August 30, 2003 00:57:45 -0300 "Marc G. Fournier" > <[EMAIL PROTECTED]> wrote: > > > > > > > On Fri, 29 Aug 2003, Larry Rosenman wrote: > > > >> Index: src/port/thread.c > >> =================================================================== > >> RCS file: /projects/cvsroot/pgsql-server/src/port/thread.c,v > >> retrieving revision 1.4 > >> diff -u -r1.4 thread.c > >> --- src/port/thread.c 16 Aug 2003 15:35:51 -0000 1.4 > >> +++ src/port/thread.c 23 Aug 2003 04:29:15 -0000 > >> @@ -68,7 +68,7 @@ > >> pqGetpwuid(uid_t uid, struct passwd *resultbuf, char *buffer, > >> size_t buflen, struct passwd **result) > >> { > >> -#if defined(USE_THREADS) && defined(NEED_REENTRANT_FUNC_NAMES) > >> +#if defined(USE_THREADS) && (defined(NEED_REENTRANT_FUNC_NAMES) || > >> defined(HAVE_GETPWUID_R)) > >> /* > >> * Early POSIX draft of getpwuid_r() returns 'struct passwd *'. > >> * getpwuid_r(uid, resultbuf, buffer, buflen) > >> Index: src/template/unixware > >> =================================================================== > >> RCS file: /projects/cvsroot/pgsql-server/src/template/unixware,v > >> retrieving revision 1.15 > >> diff -u -r1.15 unixware > >> --- src/template/unixware 16 Aug 2003 15:35:51 -0000 1.15 > >> +++ src/template/unixware 23 Aug 2003 04:29:15 -0000 > >> @@ -10,5 +10,5 @@ > >> fi > >> > >> SUPPORTS_THREADS=yes > >> -NEED_REENTRANT_FUNC_NAMES=yes > >> -THREAD_CFLAGS += -D_REENTRANT > >> +#NEED_REENTRANT_FUNC_NAMES=yes > >> +THREAD_CFLAGS="$THREAD_CFLAGS -D_REENTRANT -DHAVE_GETPWUID_R" > > > > 'K, my first question on this is shouldn't GETPWUID_R be checked for in > > configure, and not hard coded? > It's not checked for currently in configure, and doesn't get set. I'm not > an autoconf > maven. > > > > My second one is what exactly does this fix/accomplish? It looks to me > > like the result is the same, but I might be missing something obvious? > > No, with the change to NEEDS_REENTRANT_FUNC_NAMES, without the || > defined(HAVE_GETPWUID_R) magic, we use getpwuid, and not getpwuid_r, > which would break in a threaded app. 'K, but why the change to NEEDS_REENTRANT_FUNC_NAMES in the first place? The thing that has me most confused here is that the end result is the same with or without the patch, from what I can tell ... the right side of the && will always resolve to TRUE, before or after the patch ... no? ---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings