fputs("UIDS=", f);
LIST_FOREACH(sessions_by_seat, i, s->sessions)
fprintf(f,
- "%lu%c",
- (unsigned long) i->user->uid,
+ UID_FMT"%c",
+ i->user->uid,
i->sessions_by_seat_next ? ' ' : '\n');
}
finish:
if (r < 0)
- log_error("Failed to save seat data for %s: %s", s->id, strerror(-r));
+ log_error("Failed to save seat data %s: %s", s->state_file, strerror(-r));
return r;
}
return 0;
}
-int seat_stop(Seat *s) {
+int seat_stop(Seat *s, bool force) {
int r = 0;
assert(s);
"MESSAGE=Removed seat %s.", s->id,
NULL);
- seat_stop_sessions(s);
+ seat_stop_sessions(s, force);
unlink(s->state_file);
seat_add_to_gc_queue(s);
return r;
}
-int seat_stop_sessions(Seat *s) {
+int seat_stop_sessions(Seat *s, bool force) {
Session *session;
int r = 0, k;
assert(s);
LIST_FOREACH(sessions_by_seat, session, s->sessions) {
- k = session_stop(session);
+ k = session_stop(session, force);
if (k < 0)
r = k;
}