Tom Lane wrote:
> Lee Kindness <[EMAIL PROTECTED]> 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.

As far as I remember, on some platforms -lpthread does replace some of
the libc functions with thread-safe ones.  That could be quite confusing.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [EMAIL PROTECTED]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to