Commit 81c87c5e authored by Antoine Pitrou's avatar Antoine Pitrou

Followup to r86383: it seems that in some cases (buildbots), the server

closes the connection before we can call shutdown().
parent 1790ed2b
......@@ -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"]
......@@ -260,8 +260,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):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment