Bruce Momjian wrote: > Thanks for the review, Magnus. I have adjusted the patch to use the > same mutex every time the counter is accessed, and adjusted the > pqsecure_destroy() call to properly decrement in the right place. > > Also, I renamed the libpq global destroy function to be clearer > (the function is not exported).
There's a problem in this patch which is that it is inconsistent in its use of the ENABLE_THREAD_SAFETY symbol. init_ssl_system() is only going to keep the refcount in the threaded compile; but the safeguards are needed even when threading is not enabled. Moreover, destroy_ssl_system() is locking thread mutexes outside ENABLE_THREAD_SAFETY which is going to cause non-threaded builds to fail. As a suggestion, I'd recommend not fooling around with backend files when you're only modifying libpq. It enlarges the patch without benefit. I think that patch should be committed separately. -- Alvaro Herrera http://www.CommandPrompt.com/ PostgreSQL Replication, Consulting, Custom Development, 24x7 support -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers