From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Lee Kindness <lkindness(at)csl(dot)co(dot)uk> |
Cc: | pgsql-hackers(at)postgresql(dot)org, Tomas Berndtsson <tomas(at)nocrew(dot)org> |
Subject: | Re: big text field -> message type 0x44 |
Date: | 2002-12-05 19:02:04 |
Message-ID: | 29729.1039114924@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Lee Kindness <lkindness(at)csl(dot)co(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Rod Taylor | 2002-12-05 19:04:46 | Re: 7.4 - TODO : alter table drop foreign key |
Previous Message | Bruce Momjian | 2002-12-05 18:54:46 | Re: [GENERAL] PostgreSQL Global Development Group Announces |