From 5470c481134ab194f32f53fd8d5ba7c916478f74 Mon Sep 17 00:00:00 2001 From: Kenny Levinsen Date: Sat, 29 Aug 2020 23:49:22 +0200 Subject: seat: Destroy all clients on teardown --- seatd/client.c | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) (limited to 'seatd/client.c') diff --git a/seatd/client.c b/seatd/client.c index 1adc2d9..0991fbb 100644 --- a/seatd/client.c +++ b/seatd/client.c @@ -72,19 +72,13 @@ struct client *client_create(struct server *server, int client_fd) { return client; } -void client_kill(struct client *client) { - assert(client); - if (client->connection.fd != -1) { - shutdown(client->connection.fd, SHUT_RDWR); - }; - if (client->seat != NULL) { - seat_remove_client(client); - } -} - void client_destroy(struct client *client) { assert(client); client->server = NULL; + if (client->connection.fd != -1) { + close(client->connection.fd); + client->connection.fd = -1; + } if (client->seat != NULL) { // This should also close and remove all devices seat_remove_client(client); @@ -93,10 +87,6 @@ void client_destroy(struct client *client) { event_source_fd_destroy(client->event_source); client->event_source = NULL; } - if (client->connection.fd != -1) { - close(client->connection.fd); - client->connection.fd = -1; - } connection_close_fds(&client->connection); assert(linked_list_empty(&client->devices)); free(client); -- cgit v1.2.3