wait_timeout() does a fair amount of setup and teardown work. In scenarios where you want to regularly check out on your child (30x/second in my case), the overhead of going through all that on every wait_timeout() call is not negligible.
It would be nice if there were a way to keep the infrastructure in place across multiple timed waits.