Ejemplo n.º 1
0
        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();
                    }
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
 /// <inheritdoc />
 protected override void DisposeCore()
 {
     Store.Dispose();
     _directoryLock.Dispose();
 }