Re: Unixware Patch (Was: Re: Beta2 Tag'd and Bundled ...)

Поиск
Список
Период
Сортировка
От Larry Rosenman
Тема Re: Unixware Patch (Was: Re: Beta2 Tag'd and Bundled ...)
Дата
Msg-id 72510000.1062216020@lerlaptop.lerctr.org
обсуждение исходный текст
Ответ на Unixware Patch (Was: Re: Beta2 Tag'd and Bundled ...)  ("Marc G. Fournier" <scrappy@hub.org>)
Ответы Re: Unixware Patch (Was: Re: Beta2 Tag'd and Bundled ...)  ("Marc G. Fournier" <scrappy@hub.org>)
Список pgsql-hackers

--On Saturday, August 30, 2003 00:57:45 -0300 "Marc G. Fournier" 
<scrappy@hub.org> 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.




-- 
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



В списке pgsql-hackers по дате отправления:

Предыдущее
От: "Marc G. Fournier"
Дата:
Сообщение: Unixware Patch (Was: Re: Beta2 Tag'd and Bundled ...)
Следующее
От: "Marc G. Fournier"
Дата:
Сообщение: Re: Unixware Patch (Was: Re: Beta2 Tag'd and Bundled ...)