From d8f109a297ed7854394658180a1fa7a0e6b7ec86 Mon Sep 17 00:00:00 2001
From: Anthony Minessale <anthony.minessale@gmail.com>
Date: Fri, 15 Feb 2008 17:54:13 +0000
Subject: [PATCH] update

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7621 d0543943-73ff-0310-b7d9-9358b9ac24b2
---
 src/include/switch_types.h |  5 ++++-
 src/switch_time.c          | 15 ++++++---------
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/include/switch_types.h b/src/include/switch_types.h
index df9d01c982..6c1274e4a1 100644
--- a/src/include/switch_types.h
+++ b/src/include/switch_types.h
@@ -296,12 +296,15 @@ SWITCH_DECLARE_DATA extern switch_directories SWITCH_GLOBAL_dirs;
 
 #define SWITCH_MAX_STACKS 32
 #define SWITCH_THREAD_STACKSIZE 240 * 1024
-#define SWITCH_RECOMMENDED_BUFFER_SIZE 8000
+#define SWITCH_MAX_INTERVAL 120
+#define SWITCH_RECOMMENDED_BUFFER_SIZE 64 * (SWITCH_MAX_INTERVAL + 10)
 #define SWITCH_MAX_CODECS 30
 #define SWITCH_MAX_STATE_HANDLERS 30
 #define SWITCH_CORE_QUEUE_LEN 100000
 #define SWITCH_MAX_MANAGEMENT_BUFFER_LEN 1024 * 8
 
+#define SWITCH_ACCEPTABLE_INTERVAL(_i) (_i <= SWITCH_MAX_INTERVAL && (_i % 10) == 0)
+
 typedef enum {
 	SWITCH_CPF_SCREEN = (1 << 0),
 	SWITCH_CPF_HIDE_NAME = (1 << 1),
diff --git a/src/switch_time.c b/src/switch_time.c
index 2260b2f37d..e24f83b68d 100644
--- a/src/switch_time.c
+++ b/src/switch_time.c
@@ -58,7 +58,7 @@ SWITCH_MODULE_SHUTDOWN_FUNCTION(softtimer_shutdown);
 SWITCH_MODULE_RUNTIME_FUNCTION(softtimer_runtime);
 SWITCH_MODULE_DEFINITION(softtimer, softtimer_load, softtimer_shutdown, softtimer_runtime);
 
-#define MAX_ELEMENTS 1000
+#define MAX_ELEMENTS 360
 #define IDLE_SPEED 100
 #define STEP_MS 1
 #define STEP_MIC 1000
@@ -340,14 +340,11 @@ SWITCH_MODULE_RUNTIME_FUNCTION(softtimer_runtime)
 			tick = 0;
 		}
 
-		for (x = 0; x < MAX_ELEMENTS; x++) {
-			int i = x, index;
-			if (i == 0) {
-				i = 1;
-			}
-
-			index = (current_ms % i == 0) ? i : 0;
-
+		
+		for (x = 1; x <= MAX_ELEMENTS; x++) {
+			int i = x * 10;
+			int index = (current_ms % i == 0) ? i : 0;
+			
 			if (TIMER_MATRIX[index].count) {
 				TIMER_MATRIX[index].tick++;
 				if (TIMER_MATRIX[index].tick == MAX_TICK) {