Commit 914bdbb4 authored by Antoine Pitrou's avatar Antoine Pitrou

Trying to fix #8108. Will watch the buildbot(s).

parent 36b9fbb8
...@@ -315,12 +315,21 @@ if ssl is not None: ...@@ -315,12 +315,21 @@ if ssl is not None:
raise raise
def close(self): def close(self):
ssl_want_read_or_write = False
try: try:
if isinstance(self.socket, ssl.SSLSocket): if isinstance(self.socket, ssl.SSLSocket):
if self.socket._sslobj is not None: if self.socket._sslobj is not None:
self.socket.unwrap() try:
self.socket.unwrap()
except ssl.SSLError, err:
if err.args[0] in (ssl.SSL_ERROR_WANT_READ,
ssl.SSL_ERROR_WANT_WRITE):
ssl_want_read_or_write = True
else:
raise
finally: finally:
super(SSLConnection, self).close() if not ssl_want_read_or_write:
super(SSLConnection, self).close()
class DummyTLS_DTPHandler(SSLConnection, DummyDTPHandler): class DummyTLS_DTPHandler(SSLConnection, DummyDTPHandler):
......
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