summaryrefslogtreecommitdiff
path: root/Lib/ftplib.py
diff options
context:
space:
mode:
authorSenthil Kumaran <senthil@uthcode.com>2011-06-26 13:45:17 -0700
committerSenthil Kumaran <senthil@uthcode.com>2011-06-26 13:45:17 -0700
commite4ef72687972a6e1aedafeb1a5f7de1dd4b5756d (patch)
treed1c7f5d602dc74f6c1972c592902e43eef7608fb /Lib/ftplib.py
parent460153013756e565d8bcfcdab50f19c90d4ca269 (diff)
downloadcpython-git-e4ef72687972a6e1aedafeb1a5f7de1dd4b5756d.tar.gz
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.
Diffstat (limited to 'Lib/ftplib.py')
-rw-r--r--Lib/ftplib.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/Lib/ftplib.py b/Lib/ftplib.py
index 72d31a15e3..8713e473a1 100644
--- a/Lib/ftplib.py
+++ b/Lib/ftplib.py
@@ -351,6 +351,7 @@ class FTP:
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 @@ class FTP:
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