]> granicus.if.org Git - postgresql/commit
Second try at fixing tcp_keepalives_idle option on Solaris.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 28 Jun 2017 16:30:16 +0000 (12:30 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 28 Jun 2017 16:30:16 +0000 (12:30 -0400)
commit43c67e32fb2920233e680af7a7e979ebb762c7e8
tree7c449b96171d07f83b186e51b42387879793473f
parenta2de017b30157c99e33cbc6457140e062a5ca26f
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
doc/src/sgml/config.sgml
doc/src/sgml/libpq.sgml
src/backend/libpq/pqcomm.c
src/interfaces/libpq/fe-connect.c