[Asterisk-cvs] asterisk/res res_monitor.c,1.26,1.27

markster at lists.digium.com markster at lists.digium.com
Sun Jan 9 22:25:15 CST 2005


Update of /usr/cvsroot/asterisk/res
In directory mongoose.digium.com:/tmp/cvs-serv28732/res

Modified Files:
	res_monitor.c 
Log Message:
Merge anthm's monitor fixes (better default path, set variable for monitor) (bug #3266)


Index: res_monitor.c
===================================================================
RCS file: /usr/cvsroot/asterisk/res/res_monitor.c,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- res_monitor.c	28 Dec 2004 23:49:46 -0000	1.26
+++ res_monitor.c	10 Jan 2005 04:29:33 -0000	1.27
@@ -122,14 +122,17 @@
 			seq++;
 			ast_mutex_unlock(&monitorlock);
 
-			channel_name = strdup(chan->name);
-			while((p = strchr(channel_name, '/'))) {
-				*p = '-';
+			if((channel_name = ast_strdupa(chan->name))) {
+				while((p = strchr(channel_name, '/'))) {
+					*p = '-';
+				}
+				snprintf(monitor->filename_base, FILENAME_MAX, "%s/%ld-%s",
+						 AST_MONITOR_DIR, time(NULL),channel_name);
+				monitor->filename_changed = 1;
+			} else {
+				ast_log(LOG_ERROR,"Failed to allocate Memory\n");
+				return -1;
 			}
-			snprintf(monitor->filename_base, FILENAME_MAX, "%s/%s",
-						AST_MONITOR_DIR, channel_name);
-			monitor->filename_changed = 1;
-			free(channel_name);
 		}
 
 		monitor->stop = ast_monitor_stop;
@@ -168,6 +171,8 @@
 			return -1;
 		}
 		chan->monitor = monitor;
+		/* so we know this call has been monitored in case we need to bill for it or something */
+		pbx_builtin_setvar_helper(chan, "__MONITORED","true");
 	} else {
 		ast_log(LOG_DEBUG,"Cannot start monitoring %s, already monitored\n",
 					chan->name);




More information about the svn-commits mailing list