class X
{
static ManualResetEvent dispose = new ManualResetEvent (false);
+ static ManualResetEvent wait = new ManualResetEvent (false);
static IEnumerable GetIt2 ()
{
static int Delay ()
{
dispose.Set ();
- Thread.Sleep (10);
+ wait.WaitOne ();
return 1;
}
ThreadPool.QueueUserWorkItem (l => {
dispose.WaitOne ();
((IDisposable) e).Dispose ();
+ wait.Set ();
});
if (!e.MoveNext ())