Tom Lane writes:> Pete Forman wrote:> > The basic problem is that <netinet/tcp.h> is a BSD header. The> > correct
headerfor 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
questionis, which one> ought to be included when both are available? I'd tend to go for> <tcp.h> on the grounds of
"don'tfix what wasn't broken".> > Actually, given your description of the problem, I'm half inclined> to revert the
wholepatch and instead make configure's test for> availability of <netinet/tcp.h> first include <netinet/in.h>, so>
thatthat 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
pete.forman@westgeo.com -./\.- the opinion of Baker Hughes or
http://www.crosswinds.net/~petef -./\.- its divisions.