/// <summary> /// Disposes the lock. /// </summary> /// <param name="lockInfo">The lock information.</param> private static void DisposeLock(ResourceLockInfo lockInfo) { using (_resourcesLock.WriterLock()) { lockInfo.DecrementReferenceCount(); if (lockInfo.CanDispose()) { _resources.Remove(lockInfo.NamedKey); lockInfo.Dispose(); } } }
/// <summary> /// Disposes the lock. /// </summary> /// <param name="lockInfo">The lock information.</param> private static void DisposeLock(ResourceLockInfo lockInfo) { _resourcesLock.EnterWriteLock(); try { lockInfo.DecrementReferenceCount(); if (lockInfo.CanDispose()) { _resources.Remove(lockInfo.NamedKey); lockInfo.Dispose(); } } finally { _resourcesLock.ExitWriteLock(); } }