private void Deallocate(void *pointer) { MemoryHeap.Free(pointer); m_totalBuffers--; m_totalMemory -= m_settings.BufferSize; GC.RemoveMemoryPressure(m_settings.BufferSize); }
protected override void Dispose(bool disposing) { while (m_buffers.Count > 0) { void *ptr = m_buffers.Pop(); if (ptr != null) { MemoryHeap.Free(ptr); } } GC.RemoveMemoryPressure(m_totalMemory); }