Fixed time step game loop
Can't you use a 
std::this_thread::sleep_for(std::chrono::milliseconds(x));
or
nanosleep()?

Using any of the two sleeps the cpu will be free to do anything else that needs doing meanwhile this process is sleeping. Also this way it can controls doing the rendering at a specific rate and it´s not a good idea to use a while(true) without any sleep because it eats up all the processing time.