From 921f77668f39ee9a768c0515dba054f99cf0bd75 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Artur=20Zaprza=C5=82a?= <zapartur@gmail.com>
Date: Mon, 23 Feb 2015 11:18:57 +0100
Subject: [PATCH] FS-7306: fs_encode is sleeping to much - cleanup

---
 src/mod/applications/mod_spandsp/mod_spandsp_fax.c | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)

diff --git a/src/mod/applications/mod_spandsp/mod_spandsp_fax.c b/src/mod/applications/mod_spandsp/mod_spandsp_fax.c
index c2fc659187..4b5f94c4ac 100644
--- a/src/mod/applications/mod_spandsp/mod_spandsp_fax.c
+++ b/src/mod/applications/mod_spandsp/mod_spandsp_fax.c
@@ -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);
 	}