public void removeSemaphore()

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();
        }
    }