def release(self):
        """Release semaphore.

        If there are any waiters this will apply the first waiter
        that is waiting for the resource (FIFO order).

        """
        try:
            waiter, args, kwargs = self._pop_waiter()
        except __HOLE__:
            self.value = min(self.value + 1, self.initial_value)
        else:
            waiter(*args, **kwargs)
dataset/ETHPy150Open celery/kombu/kombu/async/semaphore.py/LaxBoundedSemaphore.release