]> granicus.if.org Git - python/commitdiff
SMTP.connect(): If the socket.connect() raises a socket.error, be sure
authorBarry Warsaw <barry@python.org>
Wed, 8 Nov 2000 22:19:47 +0000 (22:19 +0000)
committerBarry Warsaw <barry@python.org>
Wed, 8 Nov 2000 22:19:47 +0000 (22:19 +0000)
to call self.close() to reclaim some file descriptors, the reraise the
exception.  Closes SF patch #102185 and SF bug #119833.

Lib/smtplib.py

index 6536371846be50e888f101c9bf5b5cce18f0d454..77cd22304cf7fd2ae141a881d49e074771ca09e0 100755 (executable)
@@ -214,7 +214,11 @@ class SMTP:
         if not port: port = SMTP_PORT
         self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
         if self.debuglevel > 0: print 'connect:', (host, port)
-        self.sock.connect((host, port))
+        try:
+            self.sock.connect((host, port))
+        except socket.error:
+            self.close()
+            raise
         (code,msg)=self.getreply()
         if self.debuglevel >0 : print "connect:", msg
         return (code,msg)