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);
}
r = k;
}
- seat_save(s);
+ unlink(s->state_file);
seat_add_to_gc_queue(s);
return r;
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);
}
/* Remove X11 symlink */
session_unlink_x11_socket(s);
- session_save(s);
+ unlink(s->state_file);
+ session_add_to_gc_queue(s);
return r;
}
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);
}
if (k < 0)
r = k;
+ unlink(u->state_file);
+ user_add_to_gc_queue(u);
+
return r;
}
* PAM rewrite
* spawn user systemd
* dbus API
+ * don't allow everybody to take logind name
*
* non-local X11 server
* reboot/shutdown halt management