mirror of
https://github.com/lammertb/libhttp.git
synced 2025-12-22 04:02:04 +03:00
Fix unlocked broadcast
Since the purpose of this broadcast is to notify stop_flag, locking is once needed.
This commit is contained in:
@@ -12686,10 +12686,10 @@ master_thread_run(void *thread_func_param)
|
|||||||
close_all_listening_sockets(ctx);
|
close_all_listening_sockets(ctx);
|
||||||
|
|
||||||
/* Wakeup workers that are waiting for connections to handle. */
|
/* Wakeup workers that are waiting for connections to handle. */
|
||||||
|
(void)pthread_mutex_lock(&ctx->thread_mutex);
|
||||||
pthread_cond_broadcast(&ctx->sq_full);
|
pthread_cond_broadcast(&ctx->sq_full);
|
||||||
|
|
||||||
/* Wait until all threads finish */
|
/* Wait until all threads finish */
|
||||||
(void)pthread_mutex_lock(&ctx->thread_mutex);
|
|
||||||
while (ctx->running_worker_threads > 0) {
|
while (ctx->running_worker_threads > 0) {
|
||||||
(void)pthread_cond_wait(&ctx->thread_cond, &ctx->thread_mutex);
|
(void)pthread_cond_wait(&ctx->thread_cond, &ctx->thread_mutex);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user