On Tue, Nov 12, 2013 at 10:33:49AM -0800, H. Peter Anvin wrote:
quoted
Which means that your original wish may not be granted with
SO_KEEPALIVE at all, no? I was wondering if you wanted a forced
timeout based on alarm(2), something similar to what you added to
git-daemon in 960deccb (git-daemon: timeout, eliminate double DWIM,
2005-10-19).
Yes, something more like that on the client end. SO_KEEPALIVE is better
than nothing, but not really good enough.
Would it be enough to just use timeout(1), like:
timeout 10m git fetch
That will time the _whole_ fetch operation, which means a legitimately
gigantic but fast fetch would still fail. Setting a shorter timeout only
for periods of inactivity on the network socket would catch killed or
very laggy connections. But it would not catch a server that feeds you
data at a constant but ridiculously slow rate.
-Peff