[patch] Update to libfetch
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?
Dag-Erling Smørgrav - des at des.no
More information about the freebsd-net