]> granicus.if.org Git - python/commitdiff
Changed where socket close is called on connection failure.
authorVinay Sajip <vinay_sajip@yahoo.co.uk>
Sat, 7 May 2011 14:55:47 +0000 (15:55 +0100)
committerVinay Sajip <vinay_sajip@yahoo.co.uk>
Sat, 7 May 2011 14:55:47 +0000 (15:55 +0100)
Lib/logging/handlers.py

index 729647229361891fa709b2a7146098a29d9a4a92..a0b53e8588abacc06769ad4e873269a185508778 100644 (file)
@@ -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: