devel  

Re: Wrong order of a timeouts processing in WaitForSomething.

Keith Packard
Sat, 20 Sep 2003 21:50:16 -0700

Around 20 o'clock on Sep 20, Ivan Pascal wrote:

> The solution is obvious.  WaitForSomething should not run any callbacks before
> the Select but just check timers and if there are expired timers call select
> with a zero timeout.  Also the code before the select checks screensaver and
> DPMS timeouts.

One use for timeouts is to handle external network events, such as font 
server reconnect or XDMCP messages.  In those cases, the timeout routine 
can modify which sockets will be needed in the select mask, hence the 
desire for the timeout routine to execute before the select (and various 
BlockHandler) routines are invoked.  When the timeout routine fires only 
after select returns, the server will go through a complete scheduling 
interval before the BlockHandler is invoked.

> Also the code before the select checks screensaver and DPMS timeouts.  I
> don't see reason why those timeouts are processed separately from timers
> and don't use timers facility.

ScreenSavers used to be the only timeout and were coded before the general 
timeout mechanism was added; DPMS was kludged in on top of that mechanism. 
When the general timeout mechanism was added, the screen saver/DPMS code 
should have been migrated over.

-keith


_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel