From 3038ac7e570ac330e63ac1c94081c523c1718319 Mon Sep 17 00:00:00 2001 From: sancar Date: Wed, 22 Feb 2017 11:13:01 +0300 Subject: [PATCH] check exception type in asyncore.dispatcher handle_error --- hazelcast/reactor.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/hazelcast/reactor.py b/hazelcast/reactor.py index a92de21b5d..52e3f52ed4 100644 --- a/hazelcast/reactor.py +++ b/hazelcast/reactor.py @@ -143,9 +143,12 @@ def handle_close(self): def handle_error(self): error = sys.exc_info()[1] - if error.errno != errno.EAGAIN and error.errno != errno.EDEADLK: - self.logger.exception("Received error") - self.close(IOError(error)) + if sys.exc_info()[0] is socket.error: + if error.errno != errno.EAGAIN and error.errno != errno.EDEADLK: + self.logger.exception("Received error") + self.close(IOError(error)) + else: + self.logger.warning("Received unexpected error: " + error) def readable(self): return not self._closed and self.sent_protocol_bytes