Re: Fix handling of invalid sockets returned by PQsocket()

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: Fix handling of invalid sockets returned by PQsocket()
Дата
Msg-id 20160306035211.GA781120@alvherre.pgsql
обсуждение исходный текст
Ответ на Re: Fix handling of invalid sockets returned by PQsocket()  (Peter Eisentraut <peter_e@gmx.net>)
Ответы Re: Fix handling of invalid sockets returned by PQsocket()  (Michael Paquier <michael.paquier@gmail.com>)
Список pgsql-hackers
Peter Eisentraut wrote:
> On 2/17/16 10:52 PM, Michael Paquier wrote:
> > On Thu, Feb 18, 2016 at 1:58 AM, Alvaro Herrera
> > <alvherre@2ndquadrant.com> wrote:
> >> Michael Paquier wrote:
> >>> Hi all,
> >>>
> >>> After looking at Alvaro's message mentioning the handling of
> >>> PQsocket() for invalid sockets, I just had a look by curiosity at
> >>> other calls of this routine, and found a couple of issues:
> >>> 1) In vacuumdb.c, init_slot() does not check for the return value of PQsocket():
> >>> slot->sock = PQsocket(conn);
> >>> 2) In isolationtester.c, try_complete_step() should do the same.
> >>> 3) In pg_recvlogical.c for StreamLogicalLog() I am spotting the same problem.
> >>> I guess those ones should be fixed as well, no?
> >>
> >> I patched pgbench to use PQerrorMessage rather than strerror(errno).  I
> >> think your patch should do the same.
> > 
> > OK, this looks like a good idea. I would suggest doing the same in
> > receivelog.c then.
> 
> Let's make the error messages consistent as "invalid socket".  "bad
> socket" isn't really our style, and pg_basebackup saying "socket not
> open" is just plain incorrect.

You're completely right.  Let's patch pgbench that way too.

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: WIP: Upper planner pathification
Следующее
От: Andres Freund
Дата:
Сообщение: Re: silent data loss with ext4 / all current versions