imaplib: IMAP4 constructor closes the socket on error

Fix a ResourceWarning(unclosed socket) if an exception is raised in the
constructor after the creation of the socket. Patch written by Nadeem Vawda.
This commit is contained in:
Victor Stinner 2011-01-05 23:01:37 +00:00
parent a686725859
commit 33e649cf6d
1 changed files with 11 additions and 0 deletions

View File

@ -169,6 +169,17 @@ class IMAP4:
self.open(host, port) self.open(host, port)
try:
self._connect()
except Exception:
try:
self.shutdown()
except socket.error:
pass
raise
def _connect(self):
# Create unique tag for this session, # Create unique tag for this session,
# and compile tagged response matcher. # and compile tagged response matcher.