From 3a53af901299eb71e0c296971d5ec1bf49c4e436 Mon Sep 17 00:00:00 2001 From: Rupa Schomaker Date: Sat, 17 Apr 2010 00:34:01 -0500 Subject: [PATCH] evesdrop - aquire/release db connection for channel query only --- src/mod/applications/mod_dptools/mod_dptools.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) mode change 100644 => 100755 src/mod/applications/mod_dptools/mod_dptools.c 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);