Date: Tue, 22 Feb 2005 11:02:57 +0100 From: des@des.no (=?iso-8859-1?q?Dag-Erling_Sm=F8rgrav?=) To: Kelly Yancey <kbyanc@posi.net> Cc: Pawel Worach <pawel.worach@telia.com> Subject: Re: [patch] Update to libfetch Message-ID: <867jl0c3ou.fsf@xps.des.no> In-Reply-To: <20050221153304.J2022@gateway.posi.net> (Kelly Yancey's message of "Mon, 21 Feb 2005 15:39:48 -0800 (PST)") References: <20050221153304.J2022@gateway.posi.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Kelly Yancey <kbyanc@posi.net> writes: > Attached is a patch to address concerns raised by Pawel Worach with > regards to the recent change to set TCP_NOPUSH when sending HTTP > requests from libfetch. The previous revision also introduced a call > to shutdown(2) to close the write half of the socket in order to force > the queued request to be sent. While this should be perfectly > acceptable behavior for a TCP client, it appears that squid provides a > configuration option to disallow half-closed clients (which Pawel is > currently using). As such, after introducing the shutdown(2) call, > fetch(1) can no longer fetch files via HTTP through such proxies. > To address this issue, the attached patch replaces the call to > shutdown(2) with some socket option fiddling (clearing TCP_NOPUSH and > setting TCP_NODELAY) which does the same job of forcing the client to > write the queued request to the network without closing the write half > of the socket. This feels a bit hackish to me, but gets the job done. > Anyway, I would appreciate any feedback. Thanks, Doesn't simply reading from the socket or selecting it for reading flush the output queue? DES --=20 Dag-Erling Sm=F8rgrav - des@des.no
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?867jl0c3ou.fsf>