Re: Some 9.5beta2 backend processes not terminating properly?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Some 9.5beta2 backend processes not terminating properly?
Дата
Msg-id 20249.1451499994@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Some 9.5beta2 backend processes not terminating properly?  (Andres Freund <andres@anarazel.de>)
Ответы Re: Some 9.5beta2 backend processes not terminating properly?  (Andres Freund <andres@anarazel.de>)
Список pgsql-hackers
Andres Freund <andres@anarazel.de> writes:
> There goes that theory. Amongst others. The aforementioned problem with
> waitfor doesn't seem to be actually armed because waitfor is only used
> if errno == EWOULDBLOCK || errno == EAGAIN.

Mumble.  It is clearly possible that we'd reach the Assert failure if
SSL_read were to return -1 and set errno to EWOULDBLOCK or EAGAIN.
I doubt that is what is happening here, because those errnos don't
seem sensible for an EOF condition, but I'd still feel more comfortable
if be_tls_read/be_tls_write handled SSL_ERROR_SYSCALL like this:
           if (n != -1)           {               errno = ECONNRESET;               n = -1;           }
+           else
+           {
+               /* just in case errno is EWOULDBLOCK/EAGAIN */
+               *waitfor = WL_SOCKET_READABLE | WL_SOCKET_WRITEABLE;
+           }
        regards, tom lane



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

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: Some 9.5beta2 backend processes not terminating properly?
Следующее
От: Joe Conway
Дата:
Сообщение: custom parameters cannot be removed once set