caolan/async — pull request #134 by allanca (2012-05-30 05:25:15+00:00)
Title: Avoid double calling tasks in auto when one or more tasks are synchronous

Fixes https://github.com/caolan/async/issues/128

When one or more tasks are synchronous, copies of the listeners array are saved in the stack and not updated as tasks are run. When the stack is unwound, the same listeners are run, found ready, and re-invoke the task.

This fix merely checks to see if a task has already run before invoking it.