From b37cd392028ec395dccc63e57cd43133cb274f8d Mon Sep 17 00:00:00 2001 From: Vinay Sajip Date: Sat, 7 May 2011 15:55:47 +0100 Subject: [PATCH] Changed where socket close is called on connection failure. --- Lib/logging/handlers.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Lib/logging/handlers.py b/Lib/logging/handlers.py index 72964722936..a0b53e8588a 100644 --- a/Lib/logging/handlers.py +++ b/Lib/logging/handlers.py @@ -446,8 +446,12 @@ class SocketHandler(logging.Handler): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) if hasattr(s, 'settimeout'): s.settimeout(timeout) - s.connect((self.host, self.port)) - return s + try: + s.connect((self.host, self.port)) + return s + except socket.error: + s.close() + raise def createSocket(self): """ @@ -469,9 +473,6 @@ class SocketHandler(logging.Handler): self.retryTime = None # next time, no delay before trying except socket.error: #Creation failed, so set the retry time and return. - if self.sock is not None: - self.sock.close() - self.sock = None if self.retryTime is None: self.retryPeriod = self.retryStart else: