private void freeKeyLock(final Object key, final CountingLock lock) { assert key != null : "contract broken: key != null"; assert lock != null : "contract broken: lock != null"; getStripedLock(key).tryLock(); try { lock.decrementUses(); if (!lock.isUsed()) { key2lock.remove(key); } } finally { getStripedLock(key).unlock(); } }
private void freeKeyLock(final Object key, final CountingLock lock) { assert key != null : "contract broken: key != null"; assert lock != null : "contract broken: lock != null"; getStripedLock(key).tryLock(); try { lock.decrementUses(); if (!lock.isUsed()) { key2lock.remove(key); } } finally { getStripedLock(key).unlock(); } }