public void Dispose() { _semaphore.Do(s => { s.Release(1); s.Dispose(); }); ProfilerHasResults.Do(e => e.Dispose()); ResultsHaveBeenReceived.Do(e => e.Dispose()); StreamAccessorResults.Do(r => r.Dispose()); _mmfResults.Do(r => r.Dispose()); }
protected virtual void Dispose(bool disposing) { if (!_disposed && disposing) { _disposed = true; _semaphore .Try(s => s.Release(1)) .Do(s => s.Dispose()); ProfilerHasResults.Do(e => e.Dispose()); ResultsHaveBeenReceived.Do(e => e.Dispose()); StreamAccessorResults.Do(r => r.Dispose()); _mmfResults.Do(r => r.Dispose()); } }