]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
MODAPP-459
authorAnthony Minessale <anthm@freeswitch.org>
Wed, 22 Sep 2010 23:14:24 +0000 (18:14 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Wed, 22 Sep 2010 23:14:24 +0000 (18:14 -0500)
src/mod/applications/mod_spandsp/mod_spandsp_fax.c
src/switch_core_sqldb.c

index 9b8b051f50a84f6a08329b37acd3bdaa01fdbc9a..ec9c2ed35274aa030cff62f8a581509dde753479 100644 (file)
@@ -203,9 +203,9 @@ static void *SWITCH_THREAD_FUNC timer_thread_run(switch_thread_t *thread, void *
         goto end;
     }
 
-    while(t38_state_list.thread_running) {
+    switch_mutex_lock(globals.cond_mutex);
 
-               switch_mutex_lock(globals.cond_mutex);
+    while(t38_state_list.thread_running) {
 
         switch_mutex_lock(t38_state_list.mutex);
 
@@ -226,6 +226,8 @@ static void *SWITCH_THREAD_FUNC timer_thread_run(switch_thread_t *thread, void *
 
         switch_core_timer_next(&timer);
     }
+
+    switch_mutex_unlock(globals.cond_mutex);
     
  end:
 
index 6bde9e53afabb3409f53c31e4107dab0cdbe03b0..0cc4da3f1361dddd8abf61acb24296f048762938 100644 (file)
@@ -911,10 +911,9 @@ static void *SWITCH_THREAD_FUNC switch_core_sql_thread(switch_thread_t *thread,
 
        sql_manager.thread_running = 1;
 
-       while (sql_manager.thread_running == 1) {
-
-               switch_mutex_lock(sql_manager.cond_mutex);
+       switch_mutex_lock(sql_manager.cond_mutex);
 
+       while (sql_manager.thread_running == 1) {
                if (sql || switch_queue_trypop(sql_manager.sql_queue[0], &pop) == SWITCH_STATUS_SUCCESS ||
                        switch_queue_trypop(sql_manager.sql_queue[1], &pop) == SWITCH_STATUS_SUCCESS) {
 
@@ -993,6 +992,8 @@ static void *SWITCH_THREAD_FUNC switch_core_sql_thread(switch_thread_t *thread,
                }
        }
 
+       switch_mutex_unlock(sql_manager.cond_mutex);
+
        while (switch_queue_trypop(sql_manager.sql_queue[0], &pop) == SWITCH_STATUS_SUCCESS) {
                free(pop);
        }