From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Second try at fixing tcp_keepalives_idle option on Solaris. |
Date: | 2017-06-28 16:30:38 |
Message-ID: | E1dQFrS-0005kP-V6@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Second try at fixing tcp_keepalives_idle option on Solaris.
Buildfarm evidence shows that TCP_KEEPALIVE_THRESHOLD doesn't exist
after all on Solaris < 11. This means we need to take positive action to
prevent the TCP_KEEPALIVE code path from being taken on that platform.
I've chosen to limit it with "&& defined(__darwin__)", since it's unclear
that anyone else would follow Apple's precedent of spelling the symbol
that way.
Also, follow a suggestion from Michael Paquier of eliminating code
duplication by defining a couple of intermediate symbols for the
socket option.
In passing, make some effort to reduce the number of translatable messages
by replacing "setsockopt(foo) failed" with "setsockopt(%s) failed", etc,
throughout the affected files. And update relevant documentation so
that it doesn't claim to provide an exhaustive list of the possible
socket option names.
Like the previous commit (f0256c774), back-patch to all supported branches.
Discussion: https://postgr.es/m/20170627163757.25161.528@wrigleys.postgresql.org
Branch
------
REL9_3_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/cc154d9a0022102147ed85dc50766d95ee229bb1
Modified Files
--------------
doc/src/sgml/config.sgml | 17 +++----
doc/src/sgml/libpq.sgml | 19 ++++----
src/backend/libpq/pqcomm.c | 98 ++++++++++++++++-----------------------
src/interfaces/libpq/fe-connect.c | 60 ++++++++++++------------
4 files changed, 88 insertions(+), 106 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Gierth | 2017-06-28 18:18:17 | pgsql: Fix transition tables for ON CONFLICT. |
Previous Message | Stephen Frost | 2017-06-28 14:34:59 | pgsql: Do not require 'public' to exist for pg_dump -c |