1
0
mirror of https://github.com/signalwire/freeswitch.git synced 2025-04-18 09:32:34 +00:00

FS-6440 regression from this patch on single CPU or VM machines causes startup race

This commit is contained in:
Anthony Minessale 2014-06-23 23:55:52 +05:00 committed by Brian West
parent 76f6507ea6
commit d9e155f3e3

@ -1773,17 +1773,22 @@ static void *SWITCH_THREAD_FUNC switch_core_session_thread_pool_manager(switch_t
while(session_manager.ready) {
int check = 1;
int ttl = 0;
uint32_t xsleep = sleep;
switch_mutex_lock(session_manager.mutex);
ttl = switch_queue_size(session_manager.thread_queue);
switch_mutex_unlock(session_manager.mutex);
if (!ttl) {
switch_mutex_lock(session_manager.cond2_mutex);
switch_thread_cond_timedwait(session_manager.cond, session_manager.cond_mutex, sleep);
switch_mutex_unlock(session_manager.cond2_mutex);
xsleep = 10000;
}
switch_mutex_lock(session_manager.cond2_mutex);
switch_thread_cond_timedwait(session_manager.cond, session_manager.cond_mutex, xsleep);
switch_mutex_unlock(session_manager.cond2_mutex);
if (switch_micro_time_now() >= next) {
if (session_manager.popping) {
#ifdef DEBUG_THREAD_POOL