protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { isDisposing = true; // TODO: dispose managed state (managed objects). _actionStartSignal.Set(); _actionStartSignal.Close(); CallbackBufferBlock.Stop(); TimeoutManager.Stop(); ActionCaseConsumer.Stop(); RunningActions.ForEach(action => { action.Token.SetCancelled(); action.Token.SetCompletedSignal(); return(false); }); } // TODO: free unmanaged resources (unmanaged objects) and override a finalizer below. // TODO: set large fields to null. disposedValue = true; } }