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

Поиск
Список
Период
Сортировка
От Larry Rosenman
Тема Re: Unixware Patch (Was: Re: Beta2 Tag'd and Bundled ...)
Дата
Msg-id 4990000.1062480247@lerlaptop.lerctr.org
обсуждение исходный текст
Ответ на Re: Unixware Patch (Was: Re: Beta2 Tag'd and Bundled ...)  (Bruce Momjian <pgman@candle.pha.pa.us>)
Ответы Re: Unixware Patch (Was: Re: Beta2 Tag'd and Bundled ...)  (Bruce Momjian <pgman@candle.pha.pa.us>)
Список pgsql-hackers

--On Tuesday, September 02, 2003 00:04:35 -0400 Bruce Momjian 
<pgman@candle.pha.pa.us> wrote:

> Larry Rosenman wrote:
>> >> > Oh, interesting.  So you are saying that if the OS supports threads,
>> >> > then we use the *_r if they have them, and assume the non *_r
>> >> > functions are already thread-safe if they don't.  Interesting.
>> >> >
>> >> > That seems to be what we have on Unixware, and on BSD/OS I have some
>> >> > *_r functions but not others, but they are all threadsafe, so your
>> >> > plan works there too.
>> >> UnixWare's Kernel is threaded, and I assume anything in libc is
>> >> threadsafe  unless
>> >> told otherwise.
>> >
>> > What?  You said Unixware needs getpwuid_r.  And this has nothing to do
>> > with whether the kernel is threaded.
>> right, getpwuid is not threadsafe, so we use the provided getpwuid_r.
>
> Larry, I read the URL you gave me:
>
>         http://www.lerctr.org:8458/en/man/html.3C/getpwent.3C.html
>
> Where does it say that you have to use getpwuid_r() to be thread safe?
> I don't see any mention in the docs.  It does say about getpwuid:
>
>     For getpwent, getpwuid, getpwnam, setpwent, endpwent, and
>     fgetpwent, all information is contained in a static area, so it must be
>     copied if it is to be
>
> but that in itself doesn't mean it isn't thread safe.  If you are not
> sure, would you write a little thread program to test if it works if two
> threads try it at the same time.
I only have a UP box.

Since the _r version uses OUR OWN buffer, it is safer to use the _r version.

Since we do NOT have the _r alternative for strerror and gethostbyname, 
that's the
best we can do.




-- 
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 по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Need for a 'minor patch person'?
Следующее
От: Pavel Stehule
Дата:
Сообщение: Re: array constructor can't construct empty array