No longer rely on select() not to update the timeout argument