Issue #4473: Ensure the socket is shutdown cleanly in POP3.close().

Patch by Lorenzo Catucci.
This commit is contained in:
Antoine Pitrou 2012-11-23 20:04:45 +01:00
parent ff790aac66
commit d89824b0e2
2 changed files with 11 additions and 1 deletions

View File

@ -259,7 +259,14 @@ class POP3:
if self.file is not None:
self.file.close()
if self.sock is not None:
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()
self.file = self.sock = None
#__del__ = quit

View File

@ -138,6 +138,9 @@ Core and Builtins
Library
-------
- Issue #4473: Ensure the socket is shutdown cleanly in POP3.close().
Patch by Lorenzo Catucci.
- Issue #16522: added FAIL_FAST flag to doctest.
- Issue #15627: Add the importlib.abc.SourceLoader.compile_source() method.