Parcourir la source

eventloop: Properly handle eventio.ERR

Ask Solem il y a 13 ans
Parent
commit
ade0a10f63
1 fichiers modifiés avec 5 ajouts et 2 suppressions
  1. 5 2
      celery/worker/consumer.py

+ 5 - 2
celery/worker/consumer.py

@@ -436,8 +436,11 @@ class Consumer(object):
                                 if event & WRITE:
                                     writers[fileno](fileno, event)
                                 if event & ERR:
-                                    readers[fileno](fileno, event)
-                                    writers[fileno](fileno, event)
+                                    for handlermap in readers, writers:
+                                        try:
+                                            handlermap[fileno](fileno, event)
+                                        except KeyError:
+                                            pass
                             except Empty:
                                 break
                             except socket.error: