https://bugzilla.novell.com/show_bug.cgi?id=473302
User matz@novell.com added comment
https://bugzilla.novell.com/show_bug.cgi?id=473302#c7
--- Comment #7 from Michael Matz 2009-02-06 10:26:56 MST ---
Man! WaitFor.c is terrible spaghetti code. I would see several reasons why
the select timeout could be set to zero in WaitForSomething. In the
SMART_SCHEDULE code, if there are any ClientsWithInput, or in general if
there are timers with an expire time in the past. It might be that when
the screen is off (DPMS on) that either the timers don't go away (even when
they are expired) or that ClientsWithInput never goes empty.
Presumably that would make sense when the DPMS code wants to ensure that
when the display is off that as few CPU is used as possible, and due to a bug
there's possibly too much pruning or early-out so that events which would
normally remove expired timers or clients with input don't take action.
The dpms_screensaver.diff introduces a call to dixSaveScreens() which wasn't
there before (and without error handling) which does fiddle with timers a bit,
so maybe that's a lead. Or possibly I'm completely off :-)
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.