[Python-checkins] cpython (2.7): Fix closes issue1067702 The problem with close multiple ftp transfers were due

senthil.kumaran python-checkins at python.org
Sun Jun 26 22:45:44 CEST 2011


http://hg.python.org/cpython/rev/a4d418e8010d
changeset:   71000:a4d418e8010d
branch:      2.7
parent:      70992:3dc602b1f4a2
user:        Senthil Kumaran <senthil at uthcode.com>
date:        Sun Jun 26 13:45:17 2011 -0700
summary:
  Fix closes issue1067702  The problem with close multiple ftp transfers were due cases where sockets/file were not closed immediately. Tightned those cases and failure is no longer observed.

files:
  Lib/ftplib.py |  7 ++++---
  1 files changed, 4 insertions(+), 3 deletions(-)


diff --git a/Lib/ftplib.py b/Lib/ftplib.py
--- a/Lib/ftplib.py
+++ b/Lib/ftplib.py
@@ -351,6 +351,7 @@
             conn, sockaddr = sock.accept()
             if self.timeout is not _GLOBAL_DEFAULT_TIMEOUT:
                 conn.settimeout(self.timeout)
+            sock.close()
         if resp[:3] == '150':
             # this is conditional in case we received a 125
             size = parse150(resp)
@@ -575,11 +576,11 @@
 
     def close(self):
         '''Close the connection without assuming anything about it.'''
-        if self.file:
+        if self.file is not None:
             self.file.close()
+        if self.sock is not None:
             self.sock.close()
-            self.file = self.sock = None
-
+        self.file = self.sock = None
 
 try:
     import ssl

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list