mirror of https://github.com/python/cpython
Followup to r86383: it seems that in some cases (buildbots), the server
closes the connection before we can call shutdown().
This commit is contained in:
parent
1790ed2b2e
commit
81c87c5e9a
|
@ -22,7 +22,7 @@ Public functions: Internaldate2tuple
|
||||||
|
|
||||||
__version__ = "2.58"
|
__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",
|
__all__ = ["IMAP4", "IMAP4_stream", "Internaldate2tuple",
|
||||||
"Int2AP", "ParseFlags", "Time2Internaldate"]
|
"Int2AP", "ParseFlags", "Time2Internaldate"]
|
||||||
|
@ -260,8 +260,14 @@ class IMAP4:
|
||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
"""Close I/O established in "open"."""
|
"""Close I/O established in "open"."""
|
||||||
self.file.close()
|
self.file.close()
|
||||||
self.sock.shutdown(socket.SHUT_RDWR)
|
try:
|
||||||
self.sock.close()
|
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):
|
def socket(self):
|
||||||
|
|
Loading…
Reference in New Issue