[OpenAFS-devel] Re: idle dead timeout processing in clients
Andrew Deason
adeason@sinenomine.net
Wed, 30 Nov 2011 12:58:32 -0600
On Wed, 30 Nov 2011 18:48:47 +0000
Simon Wilkinson <sxw@inf.ed.ac.uk> wrote:
> The idle dead code isn't in any shipping versions of 1.4. Current 1.4
> clients won't get RX_CALL_TIMEOUT, or RX_CALL_DEAD.
I'm not sure if we're talking about completely different things or what.
The afs_BlackListOnce code exists in (shipping) 1.4 and, I mean, it
certainly gets _called_. If I insert a sleep(10000) into the FetchStatus
handler, the client will give an error (or failover to another site,
etc); it won't just hang forever on the request.
And this exists in 1.4 rxi_CheckCall:
/* see if we have a non-activity timeout */
if (call->startWait && conn->idleDeadTime
&& ((call->startWait + conn->idleDeadTime) < now) &&
(call->flags & RX_CALL_READER_WAIT)) {
if (call->state == RX_STATE_ACTIVE) {
rxi_CallError(call, RX_CALL_TIMEOUT);
return -1;
}
}
--
Andrew Deason
adeason@sinenomine.net