Exemple #1
0
        protected override void Dispose(bool disposing)
        {
            var length = Interlocked.Exchange(ref _length, -1);
            var buffer = _buffer;

            _buffer = null;

            if (buffer != null && length > 0 && _disposer != null)
            {
                _disposer.DisposeOf((IntPtr)buffer, this);
            }

            base.Dispose(disposing);
        }