only allow one recv at a time