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; }