mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-07 07:37:02 +02:00
MINOR: deinit: always deinit the init_mutex on failed initialization
The init_mutex was not unlocked in case an error is encountered during a thread initialization, and the polling loop was aborted during startup. In practise it does not have any observable effect since an explicit exit() is placed there, but it could confuse some debugging tools or some static analysers, so let's release it as expected. This addresses issue #1326.
This commit is contained in:
parent
b73f653d00
commit
048368ef6f
@ -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);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user