public void BeginMessageLoop() { while (!_done) { EventTask task = null; if (!_items.TryDequeue(out task)) { task = null; } if (task != null) { task.Item1(task.Item2); if (InnerException != null) // method threw an exeption { InnerException.Throw(); } } else { _workItemsWaiting.WaitOne(); } } }
public void BeginMessageLoop() { while (!_done) { EventTask task = null; if (!_items.TryDequeue(out task)) { task = null; } if (task != null) { task.Item1(task.Item2); if (InnerException != null) // method threw an exeption { throw new AggregateException( "AsyncBridge.Run method threw an exception.", InnerException); } } else { _workItemsWaiting.WaitOne(); } } }