From 3bb4e3ac09f648a8b6ea8f9d143ff73d63c910a5 Mon Sep 17 00:00:00 2001 From: Jarrod Johnson Date: Tue, 10 Jun 2014 10:07:55 -0400 Subject: [PATCH] Don't defer custom keepalive expiry on all payloads pyghmi was using any activity to defer any keepalive. If a caller has a custom keepalive, only keepalive activity should advance the keepalive expiry. Modify code to defer keepalive only if it is the generic keepalive. Change-Id: I852ad7a5de65af60fb8e11580bd2ef32896b71f6 --- pyghmi/ipmi/private/session.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyghmi/ipmi/private/session.py b/pyghmi/ipmi/private/session.py index fb598db2..8951d87d 100644 --- a/pyghmi/ipmi/private/session.py +++ b/pyghmi/ipmi/private/session.py @@ -685,7 +685,8 @@ class Session(object): self.netpacket = struct.pack("!%dB" % len(message), *message) #advance idle timer since we don't need keepalive while sending packets #out naturally - if self in Session.keepalive_sessions and not needskeepalive: + if (self in Session.keepalive_sessions and not needskeepalive and + not self._customkeepalives): Session.keepalive_sessions[self]['timeout'] = _monotonic_time() + \ 25 + (random.random() * 4.9) self._xmit_packet(retry, delay_xmit=delay_xmit)