Modified: freeswitch/trunk/src/switch_core_sqldb.c (17369 => 17370)
--- freeswitch/trunk/src/switch_core_sqldb.c 2010-04-22 18:20:37 UTC (rev 17369)
+++ freeswitch/trunk/src/switch_core_sqldb.c 2010-04-22 18:28:44 UTC (rev 17370)
@@ -809,6 +809,7 @@
int lc = 0;
uint32_t loops = 0, sec = 0;
uint32_t l1 = 1000;
+ uint32_t sanity = 120;
switch_assert(sqlbuf);
@@ -816,10 +817,19 @@
l1 = 10;
}
+ while (!sql_manager.event_db) {
+ if (switch_core_db_handle(&sql_manager.event_db) == SWITCH_STATUS_SUCCESS && sql_manager.event_db) break;
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Error getting core db, Retrying\n");
+ switch_yield(500000);
+ sanity--;
+ }
+
if (!sql_manager.event_db) {
- switch_core_db_handle(&sql_manager.event_db);
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Error getting core db Disabling core sql functionality\n");
+ return NULL;
}
+
sql_manager.thread_running = 1;
while (sql_manager.thread_running == 1) {