Tom Lane writes:
 > Pete Forman wrote:
 > > The basic problem is that <netinet/tcp.h> is a BSD header.  The
 > > correct header for TCP internals such as TCP_NODELAY on a UNIX
 > > system is <xti.h>.  By UNIX I mean UNIX95 (aka XPG4v2 or SUSv1)
 > > or later.  The 2 files which conditionally include
 > > <netinet/tcp.h> need also to conditionally include <xti.h>.

I've done bit more research.  <xti.h> was the correct place to find
TCP_NODELAY in UNIX98/SUSv2.  However in the Austin Group draft of the
next version of POSIX and UNIX0x/SUSv3, XTI has been dropped and
<netinet/tcp.h>  officially included.

 > I have never heard of <xti.h> before and am rather dubious that it
 > should be considered more standard than <tcp.h>.  However, if we
 > are going to include it then it evidently must be *mutually
 > exclusive* with including <tcp.h>.  The $64 question is, which one
 > ought to be included when both are available?  I'd tend to go for
 > <tcp.h> on the grounds of "don't fix what wasn't broken".
 > 
 > Actually, given your description of the problem, I'm half inclined
 > to revert the whole patch and instead make configure's test for
 > availability of <netinet/tcp.h> first include <netinet/in.h>, so
 > that that configure test will succeed on IRIX etc.  Do you know any
 > platforms where <tcp.h> doesn't exist at all?

I agree with this.  Back out the patch and update configure.in.  I
might have done that myself but I do not have enough experience with
autoconf.

The only platform I know of without <netinet/tcp.h> is Cygwin B20.1.
There is a workaround in place for that.  The current Cygwin 1.1 does
have the header.
-- 
Pete Forman                 -./\.- Disclaimer: This post is originated
Western Geophysical           -./\.-  by myself and does not represent
[EMAIL PROTECTED]         -./\.-  the opinion of Baker Hughes or
http://www.crosswinds.net/~petef  -./\.-  its divisions.

Reply via email to