From 9e31a70f5f9632e27fd99685198a5df5e11144d6 Mon Sep 17 00:00:00 2001 From: Jarrod Johnson Date: Thu, 22 May 2014 13:37:46 -0400 Subject: [PATCH] Correct pool usage count on failed login If trying to establish a session and an error occurs, pyghmi was not decrementing the usage count on the pool, leading for more than expected filehandles being created over time. Fix this by correctly decrementing the count in the case where something is not yet broken, but is also not yet logged in. Change-Id: I1b27f9b3b902a253d38293182305cc4dac26b765 --- pyghmi/ipmi/private/session.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pyghmi/ipmi/private/session.py b/pyghmi/ipmi/private/session.py index 535cb18e..793d4f39 100644 --- a/pyghmi/ipmi/private/session.py +++ b/pyghmi/ipmi/private/session.py @@ -403,6 +403,9 @@ class Session(object): del Session.bmc_handlers[sockaddr] if self.sol_handler: self.sol_handler({'error': 'Session Disconnected'}) + elif not self.broken: + self.broken = True + self.socketpool[self.socket] -= 1 def onlogon(self, parameter): if 'error' in parameter: