Place permit release in snyched block
Found permit leak
changed from queue.remove() to queue.poll() to allow us to handle instances where there are no active connection listeners in the queue and create a new connection listener