cvs commit: src/lib/libfetch http.c

Kelly Yancey kbyanc at posi.net
Mon Feb 21 22:10:04 GMT 2005


On Sat, 19 Feb 2005, Pawel Worach wrote:

> Kelly Yancey wrote:
> > On Sat, 19 Feb 2005, Pawel Worach wrote:
>
> > [ tcpdump output snipped ]
> >
> >
> >>Solaris box is: SunOS proxy 5.9 Generic_112233-12 sun4u sparc SUNW,Ultra-4
> >>FreeBSD box is: FreeBSD client 6.0-CURRENT FreeBSD 6.0-CURRENT #0: Wed Feb 16
> >>14:39:08 CET 2005
> >>Squid is: Squid Cache: Version 2.5.STABLE6-20041001
> >>
> >>Both machines are connected to the same switch and are on the same subnet.
> >>
> >
> >
> >   I don't suppose you have half_closed_clients set to off in your squid
> > config?
>
> Yes I do. This proxy has 4500-5000 unique clients and now only fetch(1) has a
> problem with it :)
>

  The issue then isn't the TCP_NOPUSH, but rather the call to
shutdown(2).  There is no reason to disallow half-closed TCP connections
from talking to your proxy, in fact squid defaults to allowing them.
Nonetheless, I've been testing an updated diff which replaces the call
to shutdown(2) with setting the TCP_NODELAY socket option and clearing
the TCP_NOPUSH option instead.  This appears to be sufficient to force
the pending request to be sent without closing the client half of the
TCP connection.  I'll post the diff to -net shortly.

  Kelly

--
Kelly Yancey  -  kbyanc@{posi.net,FreeBSD.org}  -  kelly at nttmcl.com


More information about the cvs-all mailing list