[asterisk-commits] juggie: branch juggie/NoLossCDR r78601 - in /team/juggie/NoLossCDR: ./ main/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Aug 8 09:39:31 CDT 2007


Author: juggie
Date: Wed Aug  8 09:39:31 2007
New Revision: 78601

URL: http://svn.digium.com/view/asterisk?view=rev&rev=78601
Log:
readd some removed code

Modified:
    team/juggie/NoLossCDR/   (props changed)
    team/juggie/NoLossCDR/main/cdr.c

Propchange: team/juggie/NoLossCDR/
------------------------------------------------------------------------------
    automerge = *

Modified: team/juggie/NoLossCDR/main/cdr.c
URL: http://svn.digium.com/view/asterisk/team/juggie/NoLossCDR/main/cdr.c?view=diff&rev=78601&r1=78600&r2=78601
==============================================================================
--- team/juggie/NoLossCDR/main/cdr.c (original)
+++ team/juggie/NoLossCDR/main/cdr.c Wed Aug  8 09:39:31 2007
@@ -79,9 +79,11 @@
 static AST_RWLIST_HEAD_STATIC(be_list, ast_cdr_beitem);
 
 #define SAFE_SHUTDOWN_DEFAULT 1
+#define MAX_QUEUE_SIZE_DEFAULT 1000
 
 static int enabled;		/*! Is the CDR subsystem enabled ? */
 static int safeshutdown;
+static int queuesize;
 
 int check_cdr_enabled()
 {
@@ -791,7 +793,7 @@
 
 	post_cdr(cdr);
 }
-
+/* todo, add a delay after a failure */
 static void *do_cdr(void *data)
 {
 	struct ast_cdr_beitem *i = data;
@@ -881,10 +883,14 @@
 	struct ast_config *config;
 	const char *enabled_value;
 	const char *safeshutdown_value;
+	const char *queuesize_value;
+	const char *end_before_h_value;
+	int cfg_queuesize;
 	int was_enabled;
 	int res=0;
 
 	safeshutdown = SAFE_SHUTDOWN_DEFAULT;
+	queuesize = MAX_QUEUE_SIZE_DEFAULT;
 	was_enabled = enabled;
 	enabled = 1;
 
@@ -895,6 +901,17 @@
 		if ((safeshutdown_value = ast_variable_retrieve(config, "general", "safeshutdown"))) {
 			safeshutdown = ast_true(safeshutdown_value);
 		}
+		if ((queuesize_value = ast_variable_retrieve(config, "general", "size"))) {
+			if (sscanf(queuesize_value, "%d", &cfg_queuesize) < 1)
+				ast_log(LOG_WARNING, "Unable to convert '%s' to a numeric value.\n", queuesize_value);
+			else if (queuesize_value < 0)
+				ast_log(LOG_WARNING, "Invalid maximum queue size '%d' specified, using default\n", cfg_queuesize);
+			else
+				queuesize = cfg_queuesize;
+		}
+		if ((end_before_h_value = ast_variable_retrieve(config, "general", "endbeforehexten")))
+			ast_set2_flag(&ast_options, ast_true(end_before_h_value), AST_OPT_FLAG_END_CDR_BEFORE_H_EXTEN);
+
 	}
 
 	if (enabled) {




More information about the asterisk-commits mailing list