That has to be re-thought because polling is not an option.
An example of a well-behaved almost-idling client to test is mir_demo_client_fingerpaint when you don't move the pointer. And you can install and run powertop (from a remote login) to watch wakeups.
Regression: The Mir server now wakes up 10 times per second, even when all clients are idle. That's bad. The reason is:
32 + io_service.post([&] thread: :sleep_ for(std: :chrono: :milliseconds( 100)); sessions- >discard_ disconnected( ); stopped( ));
33 + {
34 + do
35 + {
36 + std::this_
37 + connected_
38 + }
39 + while (!io_service.
40 + });
That has to be re-thought because polling is not an option.
An example of a well-behaved almost-idling client to test is mir_demo_ client_ fingerpaint when you don't move the pointer. And you can install and run powertop (from a remote login) to watch wakeups.