chiark / gitweb /
logind: unlink state files when stopping
[elogind.git] / src / logind-user.c
index 19db746d8bc52228c0e715c8291d47fecc779de3..7d6df8db7a8d6989be36b4b70a44db5d6c0fc7d2 100644 (file)
@@ -82,12 +82,7 @@ void user_free(User *u) {
         hashmap_remove(u->manager->users, ULONG_TO_PTR((unsigned long) u->uid));
 
         free(u->name);
-
-        if (u->state_file) {
-                unlink(u->state_file);
-                free(u->state_file);
-        }
-
+        free(u->state_file);
         free(u);
 }
 
@@ -385,6 +380,9 @@ int user_stop(User *u) {
         if (k < 0)
                 r = k;
 
+        unlink(u->state_file);
+        user_add_to_gc_queue(u);
+
         return r;
 }