client: improve poll() loop