Plug possible memory leak.

This is a rarely executed path, but it's still no excuse for it to leak.
There's no reason to restart the loop.

If we've been reading from fd, cstdin.revents will be unset anyway, so we won't
waste time going down that rathole; however, it's possible that cstderr has
stuff for us to read, so it's worth trying that rather than immediately polling.
If nothing else, the "continue" was just plain confusing, as well as
unnecessary.