Re: libpq thread safety - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: libpq thread safety
Date
Msg-id 200402112149.i1BLnBS18209@candle.pha.pa.us
Whole thread Raw
In response to Re: libpq thread safety  (Manfred Spraul <manfred@colorfullife.com>)
List pgsql-hackers
Manfred Spraul wrote:
> Bruce Momjian wrote:
> 
> >However, we really have two types of function tested. 
> >The first, strerror, can be thread safe by using thread-local storage
> >_or_ by returning pointers to static strings.  The other two function
> >tests require thread-local storage to be thread-safe.
> >  
> >
> You are completely ignoring that libpq is a library: what if the app 
> itself wants to call gethostbyname or stderror, too?
> Right now libpq has it's own private mutex. This doesn't work - the 
> locking must be process-wide. The current implementation could be the 
> default, and apps that want to use gethostbyname [or kerberos 
> authentication, etc.] outside libpq must fill in appropriate callbacks.

I never thought that far.  I have applied a patch to remove the thread
locking and throw an error in case a thread-safe function can not be
found.

I also changed the thread-safe variable to have a separate variable for
each function so that *_r functions can be better selected.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Transaction aborts on syntax error.
Next
From: Bruce Momjian
Date:
Subject: Re: libpq thread safety