• Tom Lane's avatar
    Second try at fixing tcp_keepalives_idle option on Solaris. · 99255d73
    Tom Lane authored
    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 (f0256c77), back-patch to all supported branches.
    
    Discussion: https://postgr.es/m/20170627163757.25161.528@wrigleys.postgresql.org
    99255d73
config.sgml 354 KB