If an infinite loop can be both:
1. An infinite busy loop.
2. A thread yield/sleep.
It is by definition undefined behavior. You don't know what you're going to get!
If it's one of those two it's not fully undefined behavior it's just implementation defined. UB can do anything.
You know what you’re getting, the code is right there!
If it's one of those two it's not fully undefined behavior it's just implementation defined. UB can do anything.