Re: [BUGS] BUG #5305: Postgres service stops when closing Windows session

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: [BUGS] BUG #5305: Postgres service stops when closing Windows session
Дата
Msg-id 3236.1284056622@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: [BUGS] BUG #5305: Postgres service stops when closing Windows session  (Magnus Hagander <magnus@hagander.net>)
Ответы Re: [BUGS] BUG #5305: Postgres service stops when closing Windows session  (Robert Haas <robertmhaas@gmail.com>)
Re: [BUGS] BUG #5305: Postgres service stops when closing Windows session  (Magnus Hagander <magnus@hagander.net>)
Список pgsql-hackers
Magnus Hagander <magnus@hagander.net> writes:
> On Thu, Sep 9, 2010 at 19:48, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> On balance I think I'd suggest an #ifdef WIN32 in CleanupBackend that
>> made it accept 128 as a "normal exit" case.

> Seems reasonable. I'll whack it around for that - see attached.

Hm, still doesn't log, which I think it should, even for testing
purposes (how will you know the case occurred?).  Maybe like this:
/* * If a backend dies in an ugly way then we must signal all other backends * to quickdie.  If exit status is zero
(normal)or one (FATAL exit), we * assume everything is all right and proceed to remove the backend from * the active
backendlist.
 
+     *
+     * On Windows, also treat ERROR_WAIT_NO_CHILDREN (128) as a nonfatal
+     * case, since that sometimes happens under load. */
+#ifdef WIN32
+    if (exitstatus == ERROR_WAIT_NO_CHILDREN)
+    {
+        LogChildExit(LOG, _("server process"), pid, exitstatus);
+        exitstatus = 0;
+    }
+#endif
+if (!EXIT_STATUS_0(exitstatus) && !EXIT_STATUS_1(exitstatus)){    HandleChildCrash(pid, exitstatus, _("server
process"));   return;}
 


> Dave has a reasonably reproducible test environment. Unforunately it's
> on 8.3, so this patch will be completely unsafe there (it doesn't have
> the deadman switch). But hopefully it can be used to see it fixes this
> problem (while introducing others)h

Sounds like a plan.

We're not so worried about this case that we'd want to backport the
deadman switch into 8.3 or 8.2 to have a fix there, are we?
        regards, tom lane


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

Предыдущее
От: Magnus Hagander
Дата:
Сообщение: Re: [BUGS] BUG #5305: Postgres service stops when closing Windows session
Следующее
От: Robert Haas
Дата:
Сообщение: Re: [BUGS] BUG #5305: Postgres service stops when closing Windows session