aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--seatd/client.c1
-rw-r--r--seatd/seat.c1
-rw-r--r--seatd/server.c2
3 files changed, 2 insertions, 2 deletions
diff --git a/seatd/client.c b/seatd/client.c
index bd46a86..8562c8b 100644
--- a/seatd/client.c
+++ b/seatd/client.c
@@ -89,6 +89,7 @@ void client_destroy(struct client *client) {
}
connection_close_fds(&client->connection);
assert(linked_list_empty(&client->devices));
+ linked_list_remove(&client->link);
free(client);
}
diff --git a/seatd/seat.c b/seatd/seat.c
index fee727c..7d62173 100644
--- a/seatd/seat.c
+++ b/seatd/seat.c
@@ -44,6 +44,7 @@ void seat_destroy(struct seat *seat) {
}
assert(seat->curttyfd == -1);
+ linked_list_remove(&seat->link);
free(seat->seat_name);
free(seat);
}
diff --git a/seatd/server.c b/seatd/server.c
index 1da8041..c31fbba 100644
--- a/seatd/server.c
+++ b/seatd/server.c
@@ -54,12 +54,10 @@ void server_finish(struct server *server) {
assert(server);
while (!linked_list_empty(&server->idle_clients)) {
struct client *client = (struct client *)server->idle_clients.next;
- linked_list_remove(&client->link);
client_destroy(client);
}
while (!linked_list_empty(&server->seats)) {
struct seat *seat = (struct seat *)server->seats.next;
- linked_list_remove(&seat->link);
seat_destroy(seat);
}
poller_finish(&server->poller);