Re: Implement support for TCP_KEEPCNT, TCP_KEEPIDLE, TCP_KEEPINTVL

Поиск
Список
Период
Сортировка
От Oliver Jowett
Тема Re: Implement support for TCP_KEEPCNT, TCP_KEEPIDLE, TCP_KEEPINTVL
Дата
Msg-id 4324D302.6080701@opencloud.com
обсуждение исходный текст
Ответ на Re: Implement support for TCP_KEEPCNT, TCP_KEEPIDLE, TCP_KEEPINTVL (was Re: [HACKERS] Feature freeze date for 8.1)  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Implement support for TCP_KEEPCNT, TCP_KEEPIDLE, TCP_KEEPINTVL  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-patches
Tom Lane wrote:
> So the postmaster-log message may be the best we can do ...
> but I don't think we should drop the connection.

Here's a patch to do that; it appears to work as intended on my Linux
system.

-O
Index: src/backend/libpq/pqcomm.c
===================================================================
RCS file: /projects/cvsroot/pgsql/src/backend/libpq/pqcomm.c,v
retrieving revision 1.178
diff -c -r1.178 pqcomm.c
*** src/backend/libpq/pqcomm.c    30 Jul 2005 20:28:20 -0000    1.178
--- src/backend/libpq/pqcomm.c    12 Sep 2005 00:58:15 -0000
***************
*** 595,612 ****
              return STATUS_ERROR;
          }

!         /* Set default keepalive parameters. This should also catch
!          * misconfigurations (non-zero values when socket options aren't
!          * supported)
           */
!         if (pq_setkeepalivesidle(tcp_keepalives_idle, port) != STATUS_OK)
!             return STATUS_ERROR;
!
!         if (pq_setkeepalivesinterval(tcp_keepalives_interval, port) != STATUS_OK)
!             return STATUS_ERROR;
!
!         if (pq_setkeepalivescount(tcp_keepalives_count, port) != STATUS_OK)
!             return STATUS_ERROR;
      }

      return STATUS_OK;
--- 595,607 ----
              return STATUS_ERROR;
          }

!         /* Set default keepalive parameters. We ignore misconfigurations
!          * that cause errors -- they will be logged, but won't kill the
!          * connection.
           */
!         pq_setkeepalivesidle(tcp_keepalives_idle, port);
!         pq_setkeepalivesinterval(tcp_keepalives_interval, port);
!         pq_setkeepalivescount(tcp_keepalives_count, port);
      }

      return STATUS_OK;

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: docs: config chapter
Следующее
От: Neil Conway
Дата:
Сообщение: Re: docs: config chapter