select.error is a subclass of OSError since Python 3.3

This commit is contained in:
Berker Peksag 2017-07-12 17:59:08 +03:00
parent 610596c9d9
commit 2407dd29a6

View File

@ -362,11 +362,10 @@ class Arbiter(object):
return
while os.read(self.PIPE[0], 1):
pass
except select.error as e:
if e.args[0] not in [errno.EAGAIN, errno.EINTR]:
raise
except OSError as e:
if e.errno not in [errno.EAGAIN, errno.EINTR]:
except (select.error, OSError) as e:
# TODO: select.error is a subclass of OSError since Python 3.3.
errno = getattr(e, 'errno', e.args[0])
if errno not in [errno.EAGAIN, errno.EINTR]:
raise
except KeyboardInterrupt:
sys.exit()