From d93d130b6d2d91bbf6f32faca36b97a300979e5a Mon Sep 17 00:00:00 2001 From: Jukka Ojanen Date: Thu, 8 Jul 2021 12:43:29 +0300 Subject: [PATCH] Avoid deadlocks in brain server --- src/brain.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/brain.c b/src/brain.c index 371e818f6..2b76fc94b 100644 --- a/src/brain.c +++ b/src/brain.c @@ -2245,6 +2245,8 @@ void *brain_server_handle_client (void *p) brain_server_dbs->client_slots[client_idx] = 0; + hc_thread_mutex_unlock (brain_server_dbs->mux_dbs); + close (client_fd); return NULL; @@ -2279,6 +2281,8 @@ void *brain_server_handle_client (void *p) brain_server_dbs->client_slots[client_idx] = 0; + hc_thread_mutex_unlock (brain_server_dbs->mux_dbs); + close (client_fd); return NULL; @@ -2318,6 +2322,10 @@ void *brain_server_handle_client (void *p) { brain_logging (stderr, 0, "%s\n", MSG_ENOMEM); + brain_server_dbs->client_slots[client_idx] = 0; + + close (client_fd); + return NULL; }