From: Thomas Hindoe Paaboel Andersen Date: Wed, 13 Nov 2013 17:06:34 +0000 (+0100) Subject: logind: create the session fifo before saving the session file X-Git-Tag: v209~1440 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=38fdcbedd18e48f32a7ddcf99c7b97424a73b413 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 --- diff --git a/src/login/logind-session-dbus.c b/src/login/logind-session-dbus.c index 167d2ab8b..fa9c0039f 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;