]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
put a little contention in the reg in new thread feature to prevent endless pileup
authorAnthony Minessale <anthm@freeswitch.org>
Fri, 18 May 2012 00:57:02 +0000 (19:57 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Fri, 18 May 2012 00:57:02 +0000 (19:57 -0500)
src/mod/endpoints/mod_sofia/sofia.c
src/switch_core.c
src/switch_core_sqldb.c

index d7dac7581b1e302cfc46229cec7c1b06255bea80..0e579ca1f8089e51f0fd4b102a1d08ce772b01b3 100644 (file)
@@ -1306,6 +1306,7 @@ void sofia_process_dispatch_event_in_thread(sofia_dispatch_event_t **dep)
        switch_threadattr_t *thd_attr = NULL;
        switch_memory_pool_t *pool;
        switch_thread_t *thread;
+       sofia_profile_t *profile = (*dep)->profile;
 
        switch_core_new_memory_pool(&pool);
 
@@ -1313,6 +1314,7 @@ void sofia_process_dispatch_event_in_thread(sofia_dispatch_event_t **dep)
        *dep = NULL;
        de->pool = pool;
 
+       switch_mutex_lock(profile->ireg_mutex);
        switch_threadattr_create(&thd_attr, de->pool);
        switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE);
        switch_thread_create(&thread, 
@@ -1320,7 +1322,7 @@ void sofia_process_dispatch_event_in_thread(sofia_dispatch_event_t **dep)
                                                 sofia_msg_thread_run_once, 
                                                 de,
                                                 de->pool);
-       
+       switch_mutex_unlock(profile->ireg_mutex);
 
 }
 
index 8139f8ccf89ee9797fa35b54d2c1f09196868983..f89aeb5ee2609557efa7383f37cd6dd8989582b4 100644 (file)
@@ -1420,7 +1420,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_init(switch_core_flag_t flags, switc
        gethostname(runtime.hostname, sizeof(runtime.hostname));
 
        runtime.max_db_handles = 50;
-       runtime.db_handle_timeout = 5000000;;
+       runtime.db_handle_timeout = 5000000;
        
        runtime.runlevel++;
        runtime.sql_buffer_len = 1024 * 32;
index 5c59d96962f8da559233ac188e59eab00ebb60f3..85d38160ed151ae0fd95e7247edfc67f7dea2dd4 100644 (file)
@@ -218,7 +218,7 @@ SWITCH_DECLARE(switch_status_t) _switch_core_db_handle(switch_cache_db_handle_t
 }
 
 
-#define SQL_CACHE_TIMEOUT 120
+#define SQL_CACHE_TIMEOUT 30
 #define SQL_REG_TIMEOUT 15