protected override void DisposeAdditional() { lock (_syncRoot) { _entries.Clear(); _localProperties.Clear(); _properties.Clear(); } base.DisposeAdditional(); }
/// <inheritdoc /> protected override void DisposeAdditional() { foreach (var source in _sources) { source.RemoveListener(this); } // https://github.com/Kittyfisto/Tailviewer/issues/282 _index.Clear(); _properties.Clear(); base.DisposeAdditional(); }
/// <inheritdoc /> protected override void DisposeAdditional() { _source.RemoveListener(this); // https://github.com/Kittyfisto/Tailviewer/issues/282 lock (_indices) { _indices.Clear(); _indices.Capacity = 0; } _properties.Clear(); _propertiesBuffer.Clear(); }
/// <inheritdoc /> public void Dispose() { ILogSource logSource = _source; logSource?.Dispose(); _taskScheduler.StopPeriodic(_task); // https://github.com/Kittyfisto/Tailviewer/issues/282 _listeners.Clear(); _properties.Clear(); _source = null; _isDisposed = true; }
protected override void DisposeAdditional() { IReadOnlyList <ILogSource> logSources; lock (_syncRoot) { _isDisposed = true; logSources = _logSources; _logSources = null; _properties.Clear(); // We do not want to dispose those sources from within the lock! // We don't know what they're doing and for how long they're doing it... } // https://github.com/Kittyfisto/Tailviewer/issues/282 Dispose(logSources); base.DisposeAdditional(); }