/// <summary> /// IDisposable pattern - dispose of managed/unmanaged resources /// </summary> /// <param name="disposeManagedResources">true to dispose of managed resources as well as unmanaged.</param> protected virtual void Dispose(bool disposeManagedResources) { if (Disposed) { return; } if (disposeManagedResources) { if (WriteBuffer != null) { WriteBuffer.Dispose(); WriteBuffer = null; } if (ReadBuffer != null) { ReadBuffer.Dispose(); ReadBuffer = null; } if (masterMutex != null) { masterMutex.Close(); masterMutex.Dispose(); masterMutex = null; } Disposed = true; } }