xserver/hw
Aaron Plattner 4bfb22e766 linux: Retry VT ioctls while errno == EINTR
When the smart scheduler is enabled, the VT ioctls (particularly
VT_WAITACTIVE) can be interrupted by the smart scheduler's SIGALRMs.
Previously, this caused the server to immediately continue on to
ScreenInit, almost certainly causing a crash or failure because the X
server that owned the VT hadn't finished cleaning up.  As of commit
7ee965a300, it causes a FatalError
instead.

Retrying the ioctl as long as it fails with errno == EINTR fixes the
problem and allows server regenerations to trigger VT switches that
actually succeed.

Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Cyril Brulebois <kibi@debian.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 88c4622b59)
2011-05-28 18:14:19 -07:00
..
dmx hw/dmx/doc: Update list of doxygen-generated files 2011-03-28 23:31:18 -07:00
kdrive man: refactor common code in the man pages makefiles 2011-01-18 15:11:10 -08:00
vfb man: refactor common code in the man pages makefiles 2011-01-18 15:11:10 -08:00
xfree86 linux: Retry VT ioctls while errno == EINTR 2011-05-28 18:14:19 -07:00
xnest man: refactor common code in the man pages makefiles 2011-01-18 15:11:10 -08:00
xquartz XQuartz: Don't crash if CG increases our display resolution 2011-05-22 21:39:42 -07:00
xwin hw/xwin: Look for gl spec files in $(srcdir) or . 2011-02-25 20:27:03 -08:00
Makefile.am Catch errors in recursive relink targets 2010-03-22 00:45:57 -05:00