From 09bd04734c3d084bdc1c27332ff9754eb120916b Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Wed, 30 Jun 2010 16:24:55 -0500 Subject: [PATCH] prune check --- src/switch_core_sqldb.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/switch_core_sqldb.c b/src/switch_core_sqldb.c index 2e16c9cf5e..14652e3d62 100644 --- a/src/switch_core_sqldb.c +++ b/src/switch_core_sqldb.c @@ -225,6 +225,7 @@ SWITCH_DECLARE(void) switch_cache_db_detach(void) void *val; char *key; switch_cache_db_handle_t *dbh = NULL; + int prune = 0; snprintf(thread_str, sizeof(thread_str) - 1, "%lu", (unsigned long) (intptr_t) switch_thread_self()); switch_mutex_lock(sql_manager.dbh_mutex); @@ -237,6 +238,7 @@ SWITCH_DECLARE(void) switch_cache_db_detach(void) if (strstr(dbh->name, thread_str)) { if (dbh->type == SCDB_TYPE_CORE_DB) { switch_set_flag(dbh, CDF_PRUNE); + prune++; } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG10, "Detach cached DB handle %s [%s]\n", thread_str, switch_cache_db_type_name(dbh->type)); @@ -249,6 +251,11 @@ SWITCH_DECLARE(void) switch_cache_db_detach(void) } switch_mutex_unlock(sql_manager.dbh_mutex); + + if (prune) { + sql_close(switch_epoch_time_now(NULL)); + } + } SWITCH_DECLARE(switch_status_t) _switch_cache_db_get_db_handle(switch_cache_db_handle_t **dbh,