]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-7306: fs_encode is sleeping to much - cleanup
authorArtur Zaprzała <zapartur@gmail.com>
Mon, 23 Feb 2015 10:18:57 +0000 (11:18 +0100)
committerArtur Zaprzała <zapartur@gmail.com>
Mon, 23 Feb 2015 10:18:57 +0000 (11:18 +0100)
src/mod/applications/mod_spandsp/mod_spandsp_fax.c

index c2fc659187f217ee510ed46bc3892b9fa771fd89..4b5f94c4acebd9737751d3641df4145edf8952bf 100644 (file)
@@ -138,7 +138,7 @@ static int add_pvt(pvt_t *pvt)
 {
        int r = 0;
 
-       if (t38_state_list.thread_running > 0) {
+       if (t38_state_list.thread_running == 1) {
                switch_mutex_lock(t38_state_list.mutex);
                pvt->next = t38_state_list.head;
                t38_state_list.head = pvt;
@@ -190,18 +190,14 @@ static void *SWITCH_THREAD_FUNC timer_thread_run(switch_thread_t *thread, void *
        pvt_t *pvt;
        int samples = 160;
        int ms = 20;
-    int r = 0;
 
        if (switch_core_timer_init(&timer, "soft", ms, samples, NULL) != SWITCH_STATUS_SUCCESS) {
                switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "timer init failed.\n");
-        r = -1;
+               t38_state_list.thread_running = -1;
                goto end;
        }
 
-       switch_mutex_lock(t38_state_list.mutex);
        t38_state_list.thread_running = 1;
-       switch_mutex_unlock(t38_state_list.mutex);
-
        switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "FAX timer thread started.\n");
 
        switch_mutex_lock(spandsp_globals.cond_mutex);
@@ -231,13 +227,8 @@ static void *SWITCH_THREAD_FUNC timer_thread_run(switch_thread_t *thread, void *
        switch_mutex_unlock(spandsp_globals.cond_mutex);
 
  end:
-
        switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "FAX timer thread ended.\n");
 
-       switch_mutex_lock(t38_state_list.mutex);
-       t38_state_list.thread_running = r;
-       switch_mutex_unlock(t38_state_list.mutex);
-
        if (timer.timer_interface) {
                switch_core_timer_destroy(&timer);
        }