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



Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to