Issue #4471: Properly shutdown socket in IMAP.shutdown(). Patch by

Lorenzo M. Catucci.
This commit is contained in:
Antoine Pitrou 2010-11-09 23:10:33 +00:00
parent b1436f185d
commit d79f3c8b3a
4 changed files with 6 additions and 0 deletions

View file

@ -260,6 +260,7 @@ 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)
self.sock.close() self.sock.close()

View file

@ -217,6 +217,7 @@ class RemoteIMAPTest(unittest.TestCase):
def test_logout(self): def test_logout(self):
rs = self.server.logout() rs = self.server.logout()
self.server = None
self.assertEqual(rs[0], 'BYE') self.assertEqual(rs[0], 'BYE')

View file

@ -130,6 +130,7 @@ Tony Campbell
Brett Cannon Brett Cannon
Mike Carlton Mike Carlton
Terry Carroll Terry Carroll
Lorenzo M. Catucci
Donn Cave Donn Cave
Charles Cazabon Charles Cazabon
Per Cederqvist Per Cederqvist

View file

@ -60,6 +60,9 @@ Core and Builtins
Library Library
------- -------
- Issue #4471: Properly shutdown socket in IMAP.shutdown(). Patch by
Lorenzo M. Catucci.
- Fix IMAP.login() to work properly. - Fix IMAP.login() to work properly.
- Issue #9244: multiprocessing pool worker processes could terminate - Issue #9244: multiprocessing pool worker processes could terminate