Tom Lane wrote:

Not really: it only solves the problem *if you change the application*,
which is IMHO not acceptable.  In particular, why should a non-threaded
app expect to have to change to deal with this issue?  But we can't
safely build a thread-safe libpq.so for general use if it breaks
non-threaded apps that haven't been changed.



No. non-threaded apps do not need to change. The default is the old, 7.3 code: change the signal handler around the write calls. Which means that non-threaded apps are guaranteed to work without any changes, regardless of the libpq thread safety setting.
Threaded apps would have to change, but how many threaded apps use libpq? They check their code anyway - either just add PQinitLib() or review (and potentialy update) their signal handling code if it match any of the gotchas of the transparent handling.


--
   Manfred

--
   Manfred

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Reply via email to