chiark / gitweb /
logind: implement SetUserLinger() D-Bus call
[elogind.git] / src / logind-user.c
index dff317e6bda267323dc97ce90b0b1465f39f364c..177e88200a9f49d4309a1dd621eb496faffe2aa5 100644 (file)
@@ -94,6 +94,9 @@ int user_save(User *u) {
         assert(u);
         assert(u->state_file);
 
+        if (!u->started)
+                return 0;
+
         r = safe_mkdir("/run/systemd/users", 0755, 0, 0);
         if (r < 0)
                 goto finish;
@@ -282,13 +285,13 @@ int user_start(User *u) {
         if (r < 0)
                 return r;
 
-        /* Save new user data */
-        user_save(u);
-
         dual_timestamp_get(&u->timestamp);
 
         u->started = true;
 
+        /* Save new user data */
+        user_save(u);
+
         user_send_signal(u, true);
 
         return 0;