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

From: Larry Rosenman <ler(at)lerctr(dot)org>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, Lee Kindness <lkindness(at)csl(dot)co(dot)uk>, "Marc G(dot) Fournier" <scrappy(at)hub(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "Marc G(dot) Fournier" <scrappy(at)postgresql(dot)org>, PostgreSQL Development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Unixware Patch (Was: Re: Beta2 Tag'd and Bundled ...)
Date: 2003-09-02 15:37:45
Message-ID: 92270000.1062517065@lerlaptop.iadfw.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

--On Tuesday, September 02, 2003 11:35:25 -0400 Bruce Momjian
<pgman(at)candle(dot)pha(dot)pa(dot)us> wrote:

> Larry Rosenman wrote:
>>
>>
>> --On Tuesday, September 02, 2003 11:20:14 -0400 Bruce Momjian
>> <pgman(at)candle(dot)pha(dot)pa(dot)us> wrote:
>>
>> > Peter Eisentraut wrote:
>> >> Lee Kindness writes:
>> >>
>> >> > You don't... and you simply shouldn't care. If there is a_r version
>> >> > available then we should use it - even if the plain version is
>> >> > "safe".
>> >>
>> >> The problem with this is that the automatic determination (in
>> >> configure) whether there is a xxx_r() version is, in general,
>> >> fragile. We cannot rely on configure saying that xxx_r() doesn't
>> >> exist, so the plain xxx() should be good enough. Else, we'd be
>> >> shipping claimed-to-be-thread-safe libraries that might trigger bugs
>> >> that will be hard to track down.
>> >>
>> >> I don't see any other solution than keeping a database of NEED_XXX_R
>> >> for each platform and then requiring these functions to show up
>> >> before we declare a library to be thread-safe. So far we're only
>> >> dealing with three functions, to it should be doable.
>> >
>> > Right. We can't assume because a *_r function is missing that the
>> > normal function is thread-safe.
>> So, given that UnixWare doesn't have gethostbyname_r and strerror_r, but
>> does have
>> getpwuid_r, will y'all declare that UnixWare has thread-safety?
>>
>> My vote is YES.
>
> I am inclined to think yes. It would prevent uglification of the code
> by not having to special-case Unixware.
>
> However, I was able to read the libc sources to confirm thread-safety.
> Because you can not see the source, would you try a threaded program and
> see if calls to getpwuid from different threads return different
> pointer values?
It won't prove anything on MY box, as it is a UNIPROCESSOR, so the threads
won't be dispatched at the same time.

It's ok to assume thread-safety, as the SCO developer (Kean Johnston) asked
the threads guys, and he said that the libc stuff is thread-safe so they
don't have to have 2 different versions in libc.

LER

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Vivek Khera 2003-09-02 16:01:16 Re: Hardware recommendations to scale to silly load
Previous Message Bruce Momjian 2003-09-02 15:35:25 Re: Unixware Patch (Was: Re: Beta2 Tag'd and Bundled ...)