From: Rupa Schomaker Date: Sat, 17 Apr 2010 05:34:01 +0000 (-0500) Subject: evesdrop - aquire/release db connection for channel query only X-Git-Tag: git2svn-syncpoint-master~169^2~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3a53af901299eb71e0c296971d5ec1bf49c4e436;p=thirdparty%2Ffreeswitch.git evesdrop - aquire/release db connection for channel query only --- diff --git a/src/mod/applications/mod_dptools/mod_dptools.c b/src/mod/applications/mod_dptools/mod_dptools.c old mode 100644 new mode 100755 index 9990871df3..fadb23eabc --- a/src/mod/applications/mod_dptools/mod_dptools.c +++ b/src/mod/applications/mod_dptools/mod_dptools.c @@ -358,16 +358,18 @@ SWITCH_STANDARD_APP(eavesdrop_function) 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 @@ SWITCH_STANDARD_APP(eavesdrop_function) } free(sql); - switch_cache_db_release_db_handle(&db); } else { switch_ivr_eavesdrop_session(session, data, require_group, ED_DTMF);