public async Task SameAcquiresAfterDisposal(string componentName) { var context = new Context(Logger); using (var testDirectory = new DisposableDirectory(FileSystem)) using (var lock1 = new DirectoryLock(testDirectory.Path / "dir1", FileSystem, TimeSpan.FromMinutes(30), componentName)) using (var lock2 = new DirectoryLock(testDirectory.Path / "dir1", FileSystem, TimeSpan.FromMilliseconds(100), componentName)) { (await lock1.AcquireAsync(context)).LockAcquired.Should().BeTrue(); lock1.Dispose(); (await lock2.AcquireAsync(context)).LockAcquired.Should().BeTrue(); } }
/// <inheritdoc /> protected override void Dispose(bool disposing) { if (disposing && !_disposed) { _purgeCommandPool.Dispose(); _getContentHashListCommandPool.Dispose(); _getSelectorsCommandPool.Dispose(); _replaceCommandPool.Dispose(); _touchPartitionCommandPool.Dispose(); _touchSingleCommandPool.Dispose(); _directoryLock.Dispose(); _fileSystem.Dispose(); _disposed = true; } base.Dispose(disposing); }
/// <inheritdoc /> protected override void DisposeCore() { Store.Dispose(); _directoryLock.Dispose(); }