logind: unlink state files when stopping

This commit is contained in:
Lennart Poettering 2011-05-25 00:58:55 +02:00
parent 14c3baca3e
commit d2f92cdfd0
4 changed files with 10 additions and 18 deletions

View file

@ -75,11 +75,7 @@ void seat_free(Seat *s) {
hashmap_remove(s->manager->seats, s->id);
if (s->state_file) {
unlink(s->state_file);
free(s->state_file);
}
free(s->state_file);
free(s);
}
@ -323,7 +319,7 @@ int seat_stop(Seat *s) {
r = k;
}
seat_save(s);
unlink(s->state_file);
seat_add_to_gc_queue(s);
return r;

View file

@ -86,11 +86,7 @@ void session_free(Session *s) {
hashmap_remove(s->manager->sessions, s->id);
if (s->state_file) {
unlink(s->state_file);
free(s->state_file);
}
free(s->state_file);
free(s);
}
@ -445,7 +441,8 @@ int session_stop(Session *s) {
/* Remove X11 symlink */
session_unlink_x11_socket(s);
session_save(s);
unlink(s->state_file);
session_add_to_gc_queue(s);
return r;
}

View 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;
}

View file

@ -39,6 +39,7 @@
* PAM rewrite
* spawn user systemd
* dbus API
* don't allow everybody to take logind name
*
* non-local X11 server
* reboot/shutdown halt management