From f43a47959a668e3e765fe8196237d7bb545c0cc8 Mon Sep 17 00:00:00 2001 From: hartytp Date: Thu, 9 May 2019 13:13:38 +0100 Subject: [PATCH 1/2] windows: set exceptions on pending futures --- quamash/_windows.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/quamash/_windows.py b/quamash/_windows.py index c94ef46..40e7297 100644 --- a/quamash/_windows.py +++ b/quamash/_windows.py @@ -40,8 +40,10 @@ def _process_events(self, events): try: self._logger.debug('Invoking event callback {}'.format(callback)) value = callback(transferred, key, ov) - except OSError: + except OSError as e: self._logger.warning('Event callback failed', exc_info=sys.exc_info()) + if not f.done(): + f.set_exception(e) else: f.set_result(value) From b46c0bc035a5a0c9062bacf0344a33808aa83fa8 Mon Sep 17 00:00:00 2001 From: hartytp Date: Thu, 9 May 2019 13:06:12 +0100 Subject: [PATCH 2/2] windows: downgrade messages on coro exceptions to debug --- quamash/_windows.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quamash/_windows.py b/quamash/_windows.py index 40e7297..73e4aa4 100644 --- a/quamash/_windows.py +++ b/quamash/_windows.py @@ -41,7 +41,7 @@ def _process_events(self, events): self._logger.debug('Invoking event callback {}'.format(callback)) value = callback(transferred, key, ov) except OSError as e: - self._logger.warning('Event callback failed', exc_info=sys.exc_info()) + self._logger.debug('Event callback failed', exc_info=sys.exc_info()) if not f.done(): f.set_exception(e) else: