aboutsummaryrefslogtreecommitdiffstats
path: root/cdr
diff options
context:
space:
mode:
authorjeremy <jeremy@f38db490-d61c-443f-a65b-d21fe96a405b>2004-01-04 05:11:53 +0000
committerjeremy <jeremy@f38db490-d61c-443f-a65b-d21fe96a405b>2004-01-04 05:11:53 +0000
commit919903f9427a08d97f2832354d457484d8478637 (patch)
treedd3bb2565443f37fc140e1664c2db3a2262b2453 /cdr
parent84ed7d5a8dd473636c095153842c1910d3569511 (diff)
prevent deadlock if no config file
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1889 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'cdr')
-rwxr-xr-xcdr/cdr_odbc.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/cdr/cdr_odbc.c b/cdr/cdr_odbc.c
index c9209a330..fddd68834 100755
--- a/cdr/cdr_odbc.c
+++ b/cdr/cdr_odbc.c
@@ -241,7 +241,7 @@ static int odbc_unload_module(void)
static int odbc_load_module(void)
{
- int res;
+ int res = 0;
struct ast_config *cfg;
struct ast_variable *var;
char *tmp;
@@ -252,13 +252,13 @@ static int odbc_load_module(void)
if (!cfg)
{
ast_log(LOG_WARNING, "cdr_odbc: Unable to load config for ODBC CDR's: %s\n", config);
- return 0;
+ goto out;
}
var = ast_variable_browse(cfg, "global");
if (!var) {
/* nothing configured */
- return 0;
+ goto out;
}
tmp = ast_variable_retrieve(cfg,"global","dsn");
@@ -368,6 +368,7 @@ static int odbc_load_module(void)
{
ast_log(LOG_ERROR, "cdr_odbc: Unable to register ODBC CDR handling\n");
}
+out:
ast_mutex_unlock(&odbc_lock);
return res;
}