
Here is a diff to fix this (against CVS version of asio). With this change the test runs successfully to completion.
Ok, I looked at your patch and I see what was going on here. The queue operation was failing before new, so post returned even though the event didn't get queued to the OS. That's why run didn't return. Makes sense. It seems there is an OS imposed limit on the queue depth in Windows. Another reason I wrote this is that I think a hard limit should be put in the reactive servers as so we don't end up with runaway applications. We should at least to attempt to stop enqueueing operations before the OMM killer has its way with us. This is the friction point between the theory of deferred execution and the unfortunate fact that our machines have finite resources. Thanks, Christopher