From 970d993c76818a28c880e349d3e55abdc8400de0 Mon Sep 17 00:00:00 2001 From: Andrew Svetlov Date: Fri, 11 Nov 2016 19:26:09 +0200 Subject: [PATCH] Fix for #404 Don't pass ssl certivicate error to loop.call_exception_handler() Handle ssl.CertificateError only because ssl.SSLError may be raised not only on connection establishment. --- asyncio/base_events.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/asyncio/base_events.py b/asyncio/base_events.py index aa783671..711a2963 100644 --- a/asyncio/base_events.py +++ b/asyncio/base_events.py @@ -37,6 +37,11 @@ from .coroutines import coroutine from .log import logger +try: + import ssl +except ImportError: + ssl = None + __all__ = ['BaseEventLoop'] @@ -53,6 +58,8 @@ # methods (_fatal_error()) _FATAL_ERROR_IGNORE = (BrokenPipeError, ConnectionResetError, ConnectionAbortedError) +if ssl is not None: + _FATAL_ERROR_IGNORE = _FATAL_ERROR_IGNORE + (ssl.CertificateError,) def _format_handle(handle):