diff --git a/src/haproxy.c b/src/haproxy.c index d6aeed906..79d457ad4 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -2739,6 +2739,7 @@ static void *run_thread_poll_loop(void *data) list_for_each_entry(ptaf, &per_thread_alloc_list, list) { if (!ptaf->fct()) { ha_alert("failed to allocate resources for thread %u.\n", tid); + pthread_mutex_unlock(&init_mutex); exit(1); } } @@ -2750,6 +2751,7 @@ static void *run_thread_poll_loop(void *data) list_for_each_entry(ptif, &per_thread_init_list, list) { if (!ptif->fct()) { ha_alert("failed to initialize thread %u.\n", tid); + pthread_mutex_unlock(&init_mutex); exit(1); } }