// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; namespace Microsoft.AspNetCore.Server.Kestrel { /// /// Summary description for Disposable /// public class Disposable : IDisposable { private Action _dispose; private bool _disposedValue = false; // To detect redundant calls public Disposable(Action dispose) { _dispose = dispose; } protected virtual void Dispose(bool disposing) { if (!_disposedValue) { if (disposing) { _dispose.Invoke(); } _dispose = null; _disposedValue = true; } } // This code added to correctly implement the disposable pattern. public void Dispose() { // Do not change this code. Put cleanup code in Dispose(bool disposing) above. Dispose(true); GC.SuppressFinalize(this); } } }