On 11/30/2011 1:58 PM, Andrew Deason wrote: > On Wed, 30 Nov 2011 18:48:47 +0000 > Simon Wilkinson <[email protected]> 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.
That is not a valid simulation for this case. Idle dead timeouts occur
when keepalives are being received but no actual data.
> 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;
> }
> }
Notice the RX_CALL_READER_WAIT check. This is for server side
processing. It is used by viced. That code should remain.
Jeffrey Altman
signature.asc
Description: OpenPGP digital signature
