--On Thursday, December 05, 2002 14:02:04 -0500 Tom Lane
<tgl@sss.pgh.pa.us> wrote:
> Lee Kindness <lkindness@csl.co.uk> writes:
>> Tom Lane writes:
>>>> Okay, so it seems -D_REENTRANT is the appropriate fix.
>
>> However, _REENTRANT is not a Solarisism... On all (recent) UNIX
>> systems it toggles on correct handling for thread specific instances
>> of historically global variables (eg errno). It should be considered
>> for all platforms if libpq is intended to be used from threaded
>> programs.
>
> Now that I think about it, what that macro is probably really doing is
> switching the code from looking at a static "errno" variable to looking
> at a per-thread variable. So in fact -D_REENTRANT would be correct if
> you intended to link with a thread-aware libc, and wrong if you intended
> to link with a non-aware libc. (Is there such a thing as a non-threaded
> implementation of libc on the platforms where -D_REENTRANT does
> anything?) If this analysis is right then I think we should *not*
> force _REENTRANT; it will have to be up to users to choose the mechanism
> they want to use in their programs.
>
YES. I believe UnixWare7 has such. You need -Kthread to get a threaded
version of SOME
calls.
If you need more details, Ask.
> regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org
>
--
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