[patch] Update to libfetch

Dag-Erling Smørgrav des at des.no
Tue Feb 22 02:03:28 PST 2005


Kelly Yancey <kbyanc at 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
-- 
Dag-Erling Smørgrav - des at des.no


More information about the freebsd-net mailing list