Re: Why are we including netinet/tcp.h so widely?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Why are we including netinet/tcp.h so widely?
Date: 2017-09-30 04:50:23
Message-ID: 31389.1506747023@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Andres Freund <andres(at)anarazel(dot)de> writes:
> A lot of files which currently include netinet/tcp.h. For most of them I
> cannot recognize why, and it just seems to have been copied from one
> file to the next.

According to POSIX, that supplies TCP_NODELAY, and a look into the
file here finds these other symbols we care about:

#define TCP_KEEPIDLE 4 /* Start keeplives after this period */
#define TCP_KEEPINTVL 5 /* Interval between keepalives */
#define TCP_KEEPCNT 6 /* Number of keepalives before death */

Probably you could drop it from any file not using any TCP_xxx
symbols. I'd be a little wary of #ifdef checks in any file you're
about to remove it from, though, as those could mask any obvious
breakage.

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2017-09-30 05:54:15 extension build issue with PostgreSQL 10 on Centos6
Previous Message Tom Lane 2017-09-30 04:34:24 Re: 64-bit queryId?