chiark / gitweb /
loginctl: also use $XDG_SESSION_ID for session-status
[elogind.git] / src / login / logind-session-dbus.c
index d5174339327cafe46dd3b689e1243eba28a32109..93495fbe852ab5acbb117f047c1693e98dc12302 100644 (file)
@@ -396,7 +396,7 @@ static int method_take_control(sd_bus_message *message, void *userdata, sd_bus_e
         if (uid != 0 && (force || uid != s->user->uid))
                 return sd_bus_error_setf(error, SD_BUS_ERROR_ACCESS_DENIED, "Only owner of session may take control");
 
-        r = session_set_controller(s, sd_bus_message_get_sender(message), force);
+        r = session_set_controller(s, sd_bus_message_get_sender(message), force, true);
         if (r < 0)
                 return r;
 
@@ -772,6 +772,9 @@ int session_send_create_reply(Session *s, sd_bus_error *error) {
          * about the result. */
         session_save(s);
 
+#if 1 /// Additionally elogind saves the user state file
+        user_save(s->user);
+#endif // 1
         p = session_bus_path(s);
         if (!p)
                 return -ENOMEM;