Fix failure when exceeding workers

Add a while loop around for loop that adds the requests.
Initialize the _cv on every outer loop, because the condition has been
consumed after calling _cv->send.