mirror of https://github.com/python/cpython
Merge 3.5 (asyncio)
This commit is contained in:
commit
00f4648a39
|
@ -54,6 +54,12 @@ _MIN_SCHEDULED_TIMER_HANDLES = 100
|
|||
# before cleanup of cancelled handles is performed.
|
||||
_MIN_CANCELLED_TIMER_HANDLES_FRACTION = 0.5
|
||||
|
||||
# Exceptions which must not call the exception handler in fatal error
|
||||
# methods (_fatal_error())
|
||||
_FATAL_ERROR_IGNORE = (BrokenPipeError,
|
||||
ConnectionResetError, ConnectionAbortedError)
|
||||
|
||||
|
||||
def _format_handle(handle):
|
||||
cb = handle._callback
|
||||
if inspect.ismethod(cb) and isinstance(cb.__self__, tasks.Task):
|
||||
|
|
|
@ -91,7 +91,7 @@ class _ProactorBasePipeTransport(transports._FlowControlMixin,
|
|||
self.close()
|
||||
|
||||
def _fatal_error(self, exc, message='Fatal error on pipe transport'):
|
||||
if isinstance(exc, (BrokenPipeError, ConnectionResetError)):
|
||||
if isinstance(exc, base_events._FATAL_ERROR_IGNORE):
|
||||
if self._loop.get_debug():
|
||||
logger.debug("%r: %s", self, message, exc_info=True)
|
||||
else:
|
||||
|
|
|
@ -579,8 +579,7 @@ class _SelectorTransport(transports._FlowControlMixin,
|
|||
|
||||
def _fatal_error(self, exc, message='Fatal error on transport'):
|
||||
# Should be called from exception handler only.
|
||||
if isinstance(exc, (BrokenPipeError,
|
||||
ConnectionResetError, ConnectionAbortedError)):
|
||||
if isinstance(exc, base_events._FATAL_ERROR_IGNORE):
|
||||
if self._loop.get_debug():
|
||||
logger.debug("%r: %s", self, message, exc_info=True)
|
||||
else:
|
||||
|
|
|
@ -656,7 +656,7 @@ class SSLProtocol(protocols.Protocol):
|
|||
|
||||
def _fatal_error(self, exc, message='Fatal error on transport'):
|
||||
# Should be called from exception handler only.
|
||||
if isinstance(exc, (BrokenPipeError, ConnectionResetError)):
|
||||
if isinstance(exc, base_events._FATAL_ERROR_IGNORE):
|
||||
if self._loop.get_debug():
|
||||
logger.debug("%r: %s", self, message, exc_info=True)
|
||||
else:
|
||||
|
|
|
@ -577,7 +577,7 @@ class _UnixWritePipeTransport(transports._FlowControlMixin,
|
|||
|
||||
def _fatal_error(self, exc, message='Fatal error on pipe transport'):
|
||||
# should be called by exception handler only
|
||||
if isinstance(exc, (BrokenPipeError, ConnectionResetError)):
|
||||
if isinstance(exc, base_events._FATAL_ERROR_IGNORE):
|
||||
if self._loop.get_debug():
|
||||
logger.debug("%r: %s", self, message, exc_info=True)
|
||||
else:
|
||||
|
|
Loading…
Reference in New Issue