Give while the potential to run infinitely

As long as you wait occasionally, rather than every loop.