From 353e57f908d291d5ce9b7b64263c75a2c47afcda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Mon, 16 Jan 2012 10:57:14 -0500 Subject: [PATCH] tty: Fix order of VT ack/release ioctls and the vt handler We can only set up once we've acquired the VT and we shouldn't release the VT until we've cleaned up. Before we would release the VT first, and then race to drop drm master as X tried to get drm master. Which would kill X. --- src/tty.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/tty.c b/src/tty.c index f583eb50..7b68ff16 100644 --- a/src/tty.c +++ b/src/tty.c @@ -49,10 +49,10 @@ static int on_enter_vt(int signal_number, void *data) { struct tty *tty = data; - tty->vt_func(tty->compositor, TTY_ENTER_VT); - ioctl(tty->fd, VT_RELDISP, VT_ACKACQ); + tty->vt_func(tty->compositor, TTY_ENTER_VT); + return 1; } @@ -61,10 +61,10 @@ on_leave_vt(int signal_number, void *data) { struct tty *tty = data; - ioctl(tty->fd, VT_RELDISP, 1); - tty->vt_func(tty->compositor, TTY_LEAVE_VT); + ioctl(tty->fd, VT_RELDISP, 1); + return 1; }