diff --git a/quamash/_windows.py b/quamash/_windows.py index c94ef46..73e4aa4 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: - self._logger.warning('Event callback failed', exc_info=sys.exc_info()) + except OSError as e: + self._logger.debug('Event callback failed', exc_info=sys.exc_info()) + if not f.done(): + f.set_exception(e) else: f.set_result(value)