From 8465f8181eda45e3d6cc5d6c3d08ca36db04763b Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Wed, 5 Jul 2023 15:30:57 +0200 Subject: tcp_server: keep track of client threads This is a major change, obviously; brought to me by Valgrind, which noticed that we don't actually clean up after cimple-client threads. For a more thorough explanation, please see the added comment in tcp_server.c. --- src/worker.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/worker.c') diff --git a/src/worker.c b/src/worker.c index d7cd610..3bfca42 100644 --- a/src/worker.c +++ b/src/worker.c @@ -237,10 +237,13 @@ int worker_main(struct worker *worker) ret = event_loop_run(worker->event_loop); if (ret < 0) goto close; - } -close: - net_close(fd); + close: + net_close(fd); + + if (ret < 0) + break; + } return ret; } -- cgit v1.2.3