From: Jeffrey Hutzelman Date: Thu, 22 May 2008 19:28:37 +0000 (+0000) Subject: rx-client-keep-keepalives-20080522 X-Git-Tag: openafs-devel-1_5_61~1075 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=c34822d6105cef7f68423e4ebbf485b2d11b9635;p=packages%2Fo%2Fopenafs.git rx-client-keep-keepalives-20080522 LICENSE IPL10 FIXES 20727 not our bug, but, previous code refactoring broke rx. put back keepalives in client rx connections while they are turned around. --- diff --git a/src/rx/rx.c b/src/rx/rx.c index 8d8aa7efc..d800ace28 100644 --- a/src/rx/rx.c +++ b/src/rx/rx.c @@ -4050,6 +4050,7 @@ rxi_ReceiveAckPacket(register struct rx_call *call, struct rx_packet *np, && call->tfirst + call->nSoftAcked >= call->tnext) { call->state = RX_STATE_DALLY; rxi_ClearTransmitQueue(call, 0); + rxevent_Cancel(call->keepAliveEvent, call, RX_CALL_REFCOUNT_ALIVE); } else if (!queue_IsEmpty(&call->tq)) { rxi_Start(0, call, 0, istack); } @@ -4314,7 +4315,6 @@ rxi_SetAcksInTransmitQueue(register struct rx_call *call) } rxevent_Cancel(call->resendEvent, call, RX_CALL_REFCOUNT_RESEND); - rxevent_Cancel(call->keepAliveEvent, call, RX_CALL_REFCOUNT_ALIVE); call->tfirst = call->tnext; call->nSoftAcked = 0; @@ -4355,7 +4355,6 @@ rxi_ClearTransmitQueue(register struct rx_call *call, register int force) #endif /* AFS_GLOBAL_RXLOCK_KERNEL */ rxevent_Cancel(call->resendEvent, call, RX_CALL_REFCOUNT_RESEND); - rxevent_Cancel(call->keepAliveEvent, call, RX_CALL_REFCOUNT_ALIVE); call->tfirst = call->tnext; /* implicitly acknowledge all data already sent */ call->nSoftAcked = 0;