Missing error_context_stack = NULL in AutoVacWorkerMain()

Поиск
Список
Период
Сортировка
От Ashwin Agrawal
Тема Missing error_context_stack = NULL in AutoVacWorkerMain()
Дата
Msg-id CALfoeisM+_+dgmAdAOHAu0k-ZpEHHqSSG=GRf3pKJGm8OqWX0w@mail.gmail.com
обсуждение исходный текст
Ответы Re: Missing error_context_stack = NULL in AutoVacWorkerMain()  (Michael Paquier <michael@paquier.xyz>)
Список pgsql-hackers
I am not sure if this causes any potential problems or not, but for consistency of code seems we are missing below. All other places in code where sigsetjmp() exists for top level handling has error_context_stack set to NULL.

diff --git a/src/backend/postmaster/autovacuum.c b/src/backend/postmaster/autovacuum.c
index 073f313337..b06d0ad058 100644
--- a/src/backend/postmaster/autovacuum.c
+++ b/src/backend/postmaster/autovacuum.c
@@ -1558,6 +1558,9 @@ AutoVacWorkerMain(int argc, char *argv[])
         */
        if (sigsetjmp(local_sigjmp_buf, 1) != 0)
        {
+               /* Since not using PG_TRY, must reset error stack by hand */
+               error_context_stack = NULL;
+
                /* Prevents interrupts while cleaning up */
                HOLD_INTERRUPTS();

This was spotted by Paul during code inspection.

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

Предыдущее
От: Justin Pryzby
Дата:
Сообщение: Re: v12.0: reindex CONCURRENTLY: lock ShareUpdateExclusiveLock onobject 14185/39327/0 is already held
Следующее
От: Michael Paquier
Дата:
Сообщение: Re: v12.0: segfault in reindex CONCURRENTLY