Re: libpq_r

From: Larry Rosenman <ler(at)lerctr(dot)org>
To: Greg Stark <gsstark(at)mit(dot)edu>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: libpq_r
Date: 2003-07-25 22:26:18
Message-ID: 83240000.1059171978@lerlaptop-red.iadfw.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

--On Friday, July 25, 2003 18:20:10 -0400 Greg Stark <gsstark(at)mit(dot)edu>
wrote:

> Peter Eisentraut <peter_e(at)gmx(dot)net> writes:
>
>> Bruce Momjian writes:
>>
>> > I still think it is confusing to create a libpq_r on platforms that
>> > have no _r libraries. I am on BSD/OS and I can find only _r library
>> > on my entire system,
>>
>> The criterion is not whether the platform has _r libraries, it's whether
>> special actions are required in order to make a library fit for threaded
>> programs, at the time that library is built. Such special actions may
>> include:
>
> No, there's one more criterion: And those special actions make the library
> unsuitable for use in programs not compiled to use threads.
>
> For example, on Debian *all* libraries are compiled with -D_REENTANT
> -fPIC. Anything else would be a major headache for the distribution.
This, I believe, is the same situation for UnixWare.

>
> It causes a 3-5% performance drop on i386 and much less on other
> architectures. However then all libraries are suitable for use in both
> threaded and non-threaded applications.
>
> There may still be some architectures out there where two versions are
> needed. But I'm not aware of any.
I believe that FreeBSD still needs 2, but there are 3 different threading
libs at
the moment on 5.x, and 4.x still has _r libs.

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

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2003-07-25 23:57:04 Re: parallel regression test failure
Previous Message Thomas Swan 2003-07-25 22:24:20 Re: SELECT FOR UPDATE