Re: big text field -> message type 0x44 - Mailing list pgsql-hackers

From Tom Lane
Subject Re: big text field -> message type 0x44
Date
Msg-id 29729.1039114924@sss.pgh.pa.us
Whole thread Raw
In response to Re: big text field -> message type 0x44  (Lee Kindness <lkindness@csl.co.uk>)
Responses Re: big text field -> message type 0x44
Re: big text field -> message type 0x44
Re: big text field -> message type 0x44
List pgsql-hackers
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.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [GENERAL] PostgreSQL Global Development Group Announces
Next
From: Rod Taylor
Date:
Subject: Re: 7.4 - TODO : alter table drop foreign key