[PATCH RESEND] xfree86: Keep a non-seat0 X server from touching VTs (#71258)
Laércio de Sousa
lbsousajr at gmail.com
Tue Dec 3 07:25:11 PST 2013
This is my first atempt to block VT access to non-seat0 X servers.
If -seat option is passed with a value different from seat0,
X server won't call xf86OpenConsole().
This is needed to avoid any race condition between seat0 and
non-seat0 X servers. If a non-seat0 X server opens a given VT
before a seat0 one which expects to open the same VT, one can
get an inactive systemd-logind graphical session for seat0.
This patch was first tested in a multiseat setup with multiple
video cards and works quite well.
I suppose it can also make things like DontVTSwitch and -sharevts
meaningless for non-seat0 seats, so it may fix bug #69477, too.
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=71258
https://bugs.freedesktop.org/show_bug.cgi?id=69477 (maybe)
See also: http://lists.x.org/archives/xorg-devel/2013-October/038391.html
https://bugzilla.redhat.com/show_bug.cgi?id=1018196
---
hw/xfree86/common/xf86Init.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
index 91ec4c8..abbcf86 100644
--- a/hw/xfree86/common/xf86Init.c
+++ b/hw/xfree86/common/xf86Init.c
@@ -545,7 +545,8 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
want_hw_access = TRUE;
if (!(flags & HW_SKIP_CONSOLE))
- xorgHWOpenConsole = TRUE;
+ /* Non-seat0 X servers should not open console */
+ xorgHWOpenConsole = !ServerIsNotSeat0();
}
if (xorgHWOpenConsole)
--
1.8.1.4
More information about the xorg-devel
mailing list