Revision
17335
Author
rupa
Date
2010-04-19 08:51:42 -0500 (Mon, 19 Apr 2010)

Log Message

evesdrop - aquire/release db connection for channel query only

Modified Paths

Property Changed

Diff

Modified: freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c (17334 => 17335)


--- freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c	2010-04-17 13:08:10 UTC (rev 17334)
+++ freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c	2010-04-19 13:51:42 UTC (rev 17335)
@@ -358,16 +358,18 @@
 			char terminator;
 			switch_status_t status;
 
-			if (switch_core_db_handle(&db) != SWITCH_STATUS_SUCCESS) {
-				switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Database Error!\n");
-			}
-
 			while (switch_channel_ready(channel)) {
 				for (x = 0; x < MAX_SPY; x++) {
 					switch_safe_free(e_data.uuid_list[x]);
 				}
 				e_data.total = 0;
+				
+				if (switch_core_db_handle(&db) != SWITCH_STATUS_SUCCESS) {
+					switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Database Error!\n");
+					break;
+				}
 				switch_cache_db_execute_sql_callback(db, sql, e_callback, &e_data, &errmsg);
+				switch_cache_db_release_db_handle(&db);
 				if (errmsg) {
 					switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Error: %s\n", errmsg);
 					switch_core_db_free(errmsg);
@@ -408,7 +410,6 @@
 			}
 
 			free(sql);
-			switch_cache_db_release_db_handle(&db);
 
 		} else {
 			switch_ivr_eavesdrop_session(session, data, require_group, ED_DTMF);
Property changes on: freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c
___________________________________________________________________
Name: svn:eol-style
   - native
Name: svn:executable
   + on