celery/celery — pull request #2021 by rogerhu (2014-05-01 22:05:54+00:00)
Title: Fix async loop bug causing all jobs to be considered partially written.

If MAX_TASKS_PER_CHILD is set to a low number, then the Billiard async loop
attempts to call on_job_process_down(). This call causes the process to be
marked dead, preventing cleanup work done by on_process_down. Without the
cleanup, then certain file descriptors are removed when the process starts
up with the on_poll_start.

Related to issue: https://github.com/celery/celery/issues/1785