diff --git a/src/brain.c b/src/brain.c index c479232d0..64e3578ae 100644 --- a/src/brain.c +++ b/src/brain.c @@ -2251,6 +2251,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; @@ -2285,6 +2287,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; @@ -2324,6 +2328,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; }