The smart scheduler itimer currently always fires after each request
(which in turn causes the CPU to wake out of idle, burning precious
power). Rather than doing this, just stop the timer before going into
the select() portion of the WaitFor loop. It's a cheap system call, and
it will only get called if there's no more commands batched up from the
active fd.
This change also allows some of the functions to be simplified;
setitimer() will only fail if it's passed invalid data, and we don't do
that... so make it void and remove all the conditional code that deals
with failure.
The change also allows us to remove a few variables that were used for
housekeeping between the signal handler and the main loop.
Signed-off-by: Keith Packard <keithp@koto.keithp.com>
Only rewind time when we're more than (original delta + 250ms) away from
executing the timer.
When we're walking the timer list, use a goto to iterate all of them from
the start again, since timers may drop out of the list.
Don't bother trying to be smart in TimerSet, we'll pick it up in
WaitForSomething anyway.
Add the server side implementation of the ScreenSaverSuspend request.
Require scrnsaverproto >= 1.1, and change the linking order of the Xorg
static libs.
Add XSERV_t, TRANS_SERVER, TRANS_REOPEN to quash warnings.
Add #include <dix-config.h> or <xorg-config.h>, as appropriate, to all
source files in the xserver/xorg tree, predicated on defines of
HAVE_{DIX,XORG}_CONFIG_H. Change all Xfont includes to
<X11/fonts/foo.h>.
change "foo.h" to <X11/foo.h> for core headers, e.g. X.h, Xpoll.h;
change "foo.h", "extensions/foo.h" and "X11/foo.h" to
<X11/extensions/foo.h> for extension headers, e.g. Xv.h;
change "foo.[ch]" to <X11/Xtrans/foo.[ch]> for Xtrans files.
platforms.
Compress all font encodings (Stefan Dirsch).
Fixed warnings.
Turn on forwarding XNSpotLocation event to XIM server in OffTheSpot and
Root mode (bugzilla #1580, James Su).
Added another compose key combination for the Euro symbol (Stefan Dirsch).
Added support for UTF-8 in ja_JP, ko_KR and zh_TW locales (Mike Fabian).
Changed default encoding for ru from KOI8-R to ISO8859-5 (Mike Fabian).
This is the encoding that is also used by glibc. We may break other
libcs - lets see who complains.
Added explanation for DESTDIR to install to a different directory than /.
Added some early bailouts to atiprobe if PCI structure pointer is NULL to
prevent sig11.
XV support doesn't depend on 2D acceleration any more. This patch removes
this limitation from the NSC driver. This is a patch that I have
committed to XFree86 a while ago but never ported over to X.Org.
Matthieu Herrb contributed some build fixes.
Fixing SetDPMSTimers() so that DPMS*Time == 0 disables the appropriate
timer. This takes advantage of the fact that TimerSet() with a timeout
argument 0 behaves like TimerCanel().
Use /dev/xconsole (named pipe) or devpts for system logger (Werner Fink).
Create missing links for backward compatibility to XFree86 (Stefan Dirsch).
Changed comment to mention xorg.
Changed cursor for the 'kill' action from XC_draped_box to XC_Pirate. If
you don't like it we can change it back (original author unkown).
Added 'pic' to the man page rendering command pipeline (Werner Fink).
Added missing return value (Stefan Dirsch, Roland Mainz)