[gdm/gnome-3-6] slave: cancel start session request if slave gets stopped
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gdm/gnome-3-6] slave: cancel start session request if slave gets stopped
- Date: Sat, 1 Dec 2012 00:31:16 +0000 (UTC)
commit e336a554a71a994c313fb5297a7b9c023fa1f8a9
Author: Ray Strode <rstrode redhat com>
Date: Fri Nov 30 12:43:54 2012 -0500
slave: cancel start session request if slave gets stopped
If the slave gets stopped right before we start the user's session,
then we'll have a queued start session in flight, and variable set
to the session name to be started duplicated. This gunks up the
stopping logic and leads to infinite recursion.
This commit cancels the start session operation to correct the bug.
https://bugzilla.gnome.org/show_bug.cgi?id=689367
daemon/gdm-simple-slave.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
---
diff --git a/daemon/gdm-simple-slave.c b/daemon/gdm-simple-slave.c
index 8f5f0c6..59b0627 100644
--- a/daemon/gdm-simple-slave.c
+++ b/daemon/gdm-simple-slave.c
@@ -1567,6 +1567,14 @@ gdm_simple_slave_stop (GdmSlave *slave)
self->priv->greeter_environment = NULL;
}
+ if (self->priv->start_session_id > 0) {
+ g_source_remove (self->priv->start_session_id);
+ self->priv->start_session_id = 0;
+ }
+
+ g_clear_pointer (&self->priv->start_session_service_name,
+ (GDestroyNotify) g_free);
+
if (self->priv->session_is_running) {
char *username;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]