summaryrefslogtreecommitdiff
path: root/src/login/logind-session-dbus.c
diff options
context:
space:
mode:
authorThomas Hindoe Paaboel Andersen <phomes@gmail.com>2013-11-13 18:06:34 +0100
committerThomas Hindoe Paaboel Andersen <phomes@gmail.com>2013-11-13 18:06:34 +0100
commit38fdcbedd18e48f32a7ddcf99c7b97424a73b413 (patch)
tree902579067dbe6a23d664a0dd4d19a93da41914cf /src/login/logind-session-dbus.c
parented6556920c1a6cdfe0bb04e806bc1f54ea191545 (diff)
logind: create the session fifo before saving the session file
If the session fifo is not created the session state written to the session file is "closing". This caused the lock screen in gnome-shell to go into a loop trying to find the active session. The problem was introduced in the sd-bus port in cc3773810855956bad92337cee8fa193584ab62e Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=71525
Diffstat (limited to 'src/login/logind-session-dbus.c')
-rw-r--r--src/login/logind-session-dbus.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/login/logind-session-dbus.c b/src/login/logind-session-dbus.c
index 167d2ab8b4..fa9c0039f4 100644
--- a/src/login/logind-session-dbus.c
+++ b/src/login/logind-session-dbus.c
@@ -644,14 +644,14 @@ int session_send_create_reply(Session *s, sd_bus_error *error) {
if (error)
return sd_bus_reply_method_error(s->manager->bus, c, error);
- /* Update the session state file before we notify the client
- * about the result. */
- session_save(s);
-
fifo_fd = session_create_fifo(s);
if (fifo_fd < 0)
return fifo_fd;
+ /* Update the session state file before we notify the client
+ * about the result. */
+ session_save(s);
+
p = session_bus_path(s);
if (!p)
return -ENOMEM;