bgworker crashed or not?

Поиск
Список
Период
Сортировка
От Antonin Houska
Тема bgworker crashed or not?
Дата
Msg-id 52EBE0E0.8040303@gmail.com
обсуждение исходный текст
Ответы Re: bgworker crashed or not?  (Robert Haas <robertmhaas@gmail.com>)
Список pgsql-hackers
In 9.3 I noticed that postmaster considers bgworker crashed (and
therefore tries to restart it) even if it has exited with zero status code.

I first thought about a patch like the one below, but then noticed that
postmaster.c:bgworker_quickdie() signal handler exits with 0 too (when
there's no success). Do we need my patch, my patch + <something for the
handler> or no patch at all?

// Antonin Houska (Tony)


diff --git a/src/backend/postmaster/postmaster.c
b/src/backend/postmaster/postmaster.c
index 0957e91..0313fd7 100644
--- a/src/backend/postmaster/postmaster.c
+++ b/src/backend/postmaster/postmaster.c
@@ -2791,11 +2814,7 @@ reaper(SIGNAL_ARGS)
               /* Was it one of our background workers? */               if (CleanupBackgroundWorker(pid, exitstatus))
-               {
-                       /* have it be restarted */
-                       HaveCrashedWorker = true;                       continue;
-               }
               /*                * Else do standard backend child cleanup.
@@ -2851,7 +2870,10 @@ CleanupBackgroundWorker(int pid,
               /* Delay restarting any bgworker that exits with a
nonzero status. */               if (!EXIT_STATUS_0(exitstatus))
+               {                       rw->rw_crashed_at = GetCurrentTimestamp();
+                       HaveCrashedWorker = true;
+               }               else                       rw->rw_crashed_at = 0;




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

Предыдущее
От: Stephen Frost
Дата:
Сообщение: Re: Prohibit row-security + inheritance in 9.4?
Следующее
От: Tom Lane
Дата:
Сообщение: Re: pgindent wishlist item