avoid busy waiting when client cannot send