Re: Probable memory leak with ECPG and AIX

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Probable memory leak with ECPG and AIX
Дата
Msg-id 964681.1656788014@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Probable memory leak with ECPG and AIX  (Noah Misch <noah@leadboat.com>)
Ответы Re: Probable memory leak with ECPG and AIX  (Noah Misch <noah@leadboat.com>)
Список pgsql-hackers
Noah Misch <noah@leadboat.com> writes:
> I had expected to use pthread_once() for the newlocale() call, but there would
> be no useful way to report failure and try again later.  Instead, I called
> newlocale() while ECPGconnect() holds connections_mutex.  See log message and
> comments for details.  I tested "./configure ac_cv_func_uselocale=no ..." and
> tested the scenario of newlocale() failing every time.

This looks solid to me.  The only nit I can find to pick is that I'd
have added one more comment, along the lines of

diff --git a/src/interfaces/ecpg/ecpglib/connect.c b/src/interfaces/ecpg/ecpglib/connect.c
index 9f958b822c..96f99ae072 100644
--- a/src/interfaces/ecpg/ecpglib/connect.c
+++ b/src/interfaces/ecpg/ecpglib/connect.c
@@ -508,6 +508,11 @@ ECPGconnect(int lineno, int c, const char *name, const char *user, const char *p
 #ifdef ENABLE_THREAD_SAFETY
     pthread_mutex_lock(&connections_mutex);
 #endif
+
+    /*
+     * ... but first, make certain we have created ecpg_clocale.  Rely on
+     * holding connections_mutex to ensure this is done by only one thread.
+     */
 #ifdef HAVE_USELOCALE
     if (!ecpg_clocale)
     {

I've marked it RFC.

            regards, tom lane



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Jeff Davis
Дата:
Сообщение: Re: Emit extra debug message when executing extension script.
Следующее
От: Peter Geoghegan
Дата:
Сообщение: Re: AIX support - alignment issues