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 [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 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html