jamwt/diesel — pull request #46 by dowski (2012-10-17 21:09:25+00:00)
Title: Fair Handling Of EarlyValues

If a Waiter produces an EarlyValue, the Loop requests the hub to call it back later with that value, and then hands control back to the hub. This allows for fair interleaving of green threads when values are ready early. It also works around a previous solution that caused incorrect event ordering. In addition to being correct, it is ~20% faster than the previous solution.