summaryrefslogtreecommitdiffstats
path: root/deps/elogind/patches/elogind-219.12-session.patch
blob: 82cbebdead031409cc42bde6f97264b82b9d4528 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
From b5c5dd2ad43a3bf4fa0fb21139f8d16959b5d14e Mon Sep 17 00:00:00 2001
From: Andy Wingo <wingo@pobox.com>
Date: Sun, 6 Mar 2016 16:56:33 +0100
Subject: [PATCH] Fixes to user and session saving

* src/login/logind-dbus.c (method_create_session): No need to save
  session here, as session_send_create_reply will do it.
* src/login/logind-session-dbus.c (session_send_create_reply): On the
  other hand we do need to save the user here, so the file marks them as
  being active.
---
 src/login/logind-dbus.c         | 2 --
 src/login/logind-session-dbus.c | 5 +++--
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
index 5e6952d..6f7e569 100644
--- a/src/login/logind-dbus.c
+++ b/src/login/logind-dbus.c
@@ -801,8 +801,6 @@ static int method_create_session(sd_bus *bus, sd_bus_message *message, void *use
         if (r < 0)
                 goto fail;
 
-        session_save(session);
-
         return 1;
 
 fail:
diff --git a/src/login/logind-session-dbus.c b/src/login/logind-session-dbus.c
index f71798b..337bbbb 100644
--- a/src/login/logind-session-dbus.c
+++ b/src/login/logind-session-dbus.c
@@ -721,9 +721,10 @@ int session_send_create_reply(Session *s, sd_bus_error *error) {
         if (fifo_fd < 0)
                 return fifo_fd;
 
-        /* Update the session state file before we notify the client
-         * about the result. */
+        /* Update the session and user state files before we notify
+         * the client about the result. */
         session_save(s);
+        user_save(s->user);
 
         p = session_bus_path(s);
         if (!p)