From: Jeffrey Hutzelman Date: Thu, 22 May 2008 19:29:19 +0000 (+0000) Subject: STABLE14-rx-client-keep-keepalives-20080522 X-Git-Tag: openafs-stable-1_4_8pre1~82 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=41122a94a24e2e5b9389f89badc8f67b37a5312f;p=packages%2Fo%2Fopenafs.git STABLE14-rx-client-keep-keepalives-20080522 LICENSE IPL10 FIXES 20727 not our bug, but, previous code refactoring broke rx. put back keepalives in cli ent rx connections while they are turned around. (cherry picked from commit c34822d6105cef7f68423e4ebbf485b2d11b9635) --- diff --git a/src/rx/rx.c b/src/rx/rx.c index 41309143b..1f5b71c28 100644 --- a/src/rx/rx.c +++ b/src/rx/rx.c @@ -3920,6 +3920,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); } @@ -4184,7 +4185,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; @@ -4225,7 +4225,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;