소스 검색

Fix buffering quirk in py3: if the read would return EAGAIN then readinto would return none (instead of raising).

Ionel Cristian Mărieș 11 년 전
부모
커밋
c3c98a5bb2
1개의 변경된 파일2개의 추가작업 그리고 1개의 파일을 삭제
  1. 2 1
      celery/concurrency/workhorse.py

+ 2 - 1
celery/concurrency/workhorse.py

@@ -163,7 +163,8 @@ class TaskPool(BasePool):
         si = signalfd_siginfo()
         while True:
             try:
-                self.sigfh.readinto(si)
+                if not self.sigfh.readinto(si):
+                    break
             except IOError as exc:
                 if exc.errno != errno.EAGAIN:
                     raise