X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogind-user.c;fp=src%2Flogind-user.c;h=7d6df8db7a8d6989be36b4b70a44db5d6c0fc7d2;hb=d2f92cdfd0189491387069da45734816effd8cbd;hp=19db746d8bc52228c0e715c8291d47fecc779de3;hpb=14c3baca3eb8b32fc266e46127851585bee5aff2;p=elogind.git diff --git a/src/logind-user.c b/src/logind-user.c index 19db746d8..7d6df8db7 100644 --- a/src/logind-user.c +++ b/src/logind-user.c @@ -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; }