in src/main/java/com/epam/eco/commons/concurrent/ResourceSemaphores.java [53:73]
public void removeSemaphore(ResourceSemaphore<K, O> semaphore) {
if (semaphore == null) {
return;
}
lock.writeLock().lock();
try {
Set<ResourceSemaphore<K, O>> resourceSemaphores = semaphores.get(semaphore.key);
if (resourceSemaphores == null) {
return;
}
resourceSemaphores.remove(semaphore);
if (resourceSemaphores.isEmpty()) {
semaphores.remove(semaphore.key);
}
} finally {
lock.writeLock().unlock();
}
}