From 64acac68f9c68de2a925d5a06b2c740673e2ccc1 Mon Sep 17 00:00:00 2001 From: Ask Solem Date: Thu, 10 Apr 2014 15:21:27 +0100 Subject: [PATCH] Attempt to fix celery/celery#1965 --- kombu/utils/eventio.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/kombu/utils/eventio.py b/kombu/utils/eventio.py index fafb3ace..ed9ec06c 100644 --- a/kombu/utils/eventio.py +++ b/kombu/utils/eventio.py @@ -202,7 +202,14 @@ class _select(Poller): self.unregister(fd) def unregister(self, fd): - fd = fileno(fd) + try: + fd = fileno(fd) + except socket.error as exc: + # we don't know the previous fd of this object + # but it will be removed by the next poll iteration. + if get_errno(exc) in SELECT_BAD_FD: + return + raise self._rfd.discard(fd) self._wfd.discard(fd) self._efd.discard(fd)