summaryrefslogtreecommitdiff
path: root/daemon
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2015-03-03 08:54:24 -0500
committerRay Strode <rstrode@redhat.com>2015-03-03 09:02:01 -0500
commitf09053dce3bd1530cc3ddc18306bac31c283b1b8 (patch)
tree7f749260dd6da8e0eafe3b93f6296ba78b003a9c /daemon
parent37ed10055e4735af7eb8d5daa371b10978bed136 (diff)
downloadgdm-f09053dce3bd1530cc3ddc18306bac31c283b1b8.tar.gz
worker: fix hang on logout
We need to retake control of VT switch processing on logout, just as we do before login, otherwise we can be left hung waiting for the VT to be released. https://bugzilla.gnome.org/show_bug.cgi?id=745217
Diffstat (limited to 'daemon')
-rw-r--r--daemon/gdm-session-worker.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/daemon/gdm-session-worker.c b/daemon/gdm-session-worker.c
index 0fe7cce5..4c69da22 100644
--- a/daemon/gdm-session-worker.c
+++ b/daemon/gdm-session-worker.c
@@ -1052,8 +1052,6 @@ jump_to_vt (GdmSessionWorker *worker,
g_debug ("GdmSessionWorker: couldn't set graphics mode: %m");
}
- handle_terminal_vt_switches (worker, fd);
-
/* It's possible that the current VT was left in a broken
* combination of states (KD_GRAPHICS with VT_AUTO), that
* can't be switched away from. This call makes sure things
@@ -1065,6 +1063,8 @@ jump_to_vt (GdmSessionWorker *worker,
fd = active_vt_tty_fd;
}
+ handle_terminal_vt_switches (worker, fd);
+
if (ioctl (fd, VT_ACTIVATE, vt_number) < 0) {
g_debug ("GdmSessionWorker: couldn't initiate jump to VT %d: %m",
vt_number);