Ensure that rotation updates happen frequently

The smart scheduler is designed to minimize scheduler overhead by
increasing the interval between WaitForSomething calls when a single
client is running. However, the software rotation code depends on
its BlockHandler being invoked for screen updates; the long delays
caused by the smart scheduler optimizations means that screen updates
can be delayed a long time as well.

The change is simple -- prevent the smart scheduler from increasing
the scheduling interval while any screen is using software rotation.

Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
Keith Packard
2009-08-25 18:07:00 -07:00
parent 1740cda7a3
commit e7dd1efef4
3 changed files with 29 additions and 1 deletions

View File

@@ -229,6 +229,12 @@ extern _X_EXPORT void WakeupHandler(
int /*result*/,
pointer /*pReadmask*/);
void
EnableLimitedSchedulingLatency(void);
void
DisableLimitedSchedulingLatency(void);
typedef void (* WakeupHandlerProcPtr)(
pointer /* blockData */,
int /* result */,