renew the timeout at every cycle since the select() implementation will consume it

so if reused it will end up being a 0 timeout causing select to return immediately
eating cpu cycles