Quellcode durchsuchen

eventloop: Properly handle eventio.ERR

Ask Solem vor 13 Jahren
Ursprung
Commit
ade0a10f63
1 geänderte Dateien mit 5 neuen und 2 gelöschten Zeilen
  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: