public void Dispose() { if (_disposed) { return; } _disposed = true; // we cannot dispose the journal until we are done with all of the pending writes if (_lazyTransactionBuffer != null) { _lazyTransactionBuffer.WriteBufferToFile(CurrentFile, null); _lazyTransactionBuffer.Dispose(); } _compressionPager.Dispose(); _lz4.Dispose(); _journalApplicator.Dispose(); if (_env.Options.OwnsPagers) { foreach (var logFile in _files) { logFile.Dispose(); } } else { foreach (var logFile in _files) { GC.SuppressFinalize(logFile); } } _files = ImmutableAppendOnlyList <JournalFile> .Empty; }
public void Dispose() { if (disposed) { return; } disposed = true; // we cannot dispose the journal until we are done with all of the pending writes _compressionPager.Dispose(); _lz4.Dispose(); if (_env.Options.OwnsPagers) { foreach (var logFile in _files) { logFile.Dispose(); } _journalApplicator.Dispose(); } else { foreach (var logFile in _files) { GC.SuppressFinalize(logFile); } } _files = ImmutableAppendOnlyList <JournalFile> .Empty; }
public virtual void Dispose() { if (_disposed) { return; } Reset(); Lz4.Dispose(); if (_tempBuffer != null) { Pool.Return(_tempBuffer); } if (_fieldNames != null) { foreach (var kvp in _fieldNames.Values) { Pool.Return(kvp.AllocatedMemoryData); } } if (_internedFieldNames != null) { foreach (var key in _internedFieldNames.Keys) { Pool.Return(key.AllocatedMemoryData); } } _disposed = true; }