summaryrefslogtreecommitdiff
path: root/glx/glxext.c
diff options
context:
space:
mode:
authorAaron Plattner <aplattner@nvidia.com>2011-04-18 08:23:48 -0700
committerJeremy Huddleston <jeremyhu@apple.com>2011-05-28 18:14:19 -0700
commit4bfb22e7667c4cd55da5e7a31af29ce5769ecc65 (patch)
tree471c99f9c10751885f9e251133133c1edcd710ca /glx/glxext.c
parent50b9d3142ff90af2f7fa35b7b1bf9e5a07723dbd (diff)
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 7ee965a300c9eddcc1acacf9414cfe3e589222a8, 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 88c4622b594a1725d0cee86bc82ad640d241c520)
Diffstat (limited to 'glx/glxext.c')
0 files changed, 0 insertions, 0 deletions