aboutsummaryrefslogtreecommitdiff
path: root/seatd/client.c
diff options
context:
space:
mode:
Diffstat (limited to 'seatd/client.c')
-rw-r--r--seatd/client.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/seatd/client.c b/seatd/client.c
index 220c5d3..6b6f3b3 100644
--- a/seatd/client.c
+++ b/seatd/client.c
@@ -81,6 +81,13 @@ struct client *client_create(struct server *server, int client_fd) {
void client_destroy(struct client *client) {
assert(client);
+
+#ifdef LIBSEAT
+ // The built-in backend version of seatd should terminate once its only
+ // client disconnects.
+ client->server->running = false;
+#endif
+
client->server = NULL;
if (client->connection.fd != -1) {
close(client->connection.fd);