diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2010-11-10 09:02:33 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2010-11-10 09:02:33 (GMT) |
commit | ae93389e0ac400924a5b196c3b0d7633104e9637 (patch) | |
tree | f68cad89dab4f3301368809550445d76b7f1e583 /Lib | |
parent | 1d519cde654cf663241a765b9d91e663f8fa1953 (diff) | |
download | cpython-ae93389e0ac400924a5b196c3b0d7633104e9637.zip cpython-ae93389e0ac400924a5b196c3b0d7633104e9637.tar.gz cpython-ae93389e0ac400924a5b196c3b0d7633104e9637.tar.bz2 |
Merged revisions 86391 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r86391 | antoine.pitrou | 2010-11-10 09:59:25 +0100 (mer., 10 nov. 2010) | 4 lines
Followup to r86383: it seems that in some cases (buildbots), the server
closes the connection before we can call shutdown().
........
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/imaplib.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/Lib/imaplib.py b/Lib/imaplib.py index 357ba83..f66a83b 100644 --- a/Lib/imaplib.py +++ b/Lib/imaplib.py @@ -22,7 +22,7 @@ Public functions: Internaldate2tuple __version__ = "2.58" -import binascii, random, re, socket, subprocess, sys, time +import binascii, errno, random, re, socket, subprocess, sys, time __all__ = ["IMAP4", "IMAP4_stream", "Internaldate2tuple", "Int2AP", "ParseFlags", "Time2Internaldate"] @@ -248,8 +248,14 @@ class IMAP4: def shutdown(self): """Close I/O established in "open".""" self.file.close() - self.sock.shutdown(socket.SHUT_RDWR) - self.sock.close() + try: + self.sock.shutdown(socket.SHUT_RDWR) + except socket.error as e: + # The server might already have closed the connection + if e.errno != errno.ENOTCONN: + raise + finally: + self.sock.close() def socket(self): |