pop raises a different error than that
Implement channel limit