summaryrefslogtreecommitdiff
path: root/cdr/cdr_odbc.c
diff options
context:
space:
mode:
authorJeremy McNamara <jj@nufone.net>2004-01-04 05:11:53 +0000
committerJeremy McNamara <jj@nufone.net>2004-01-04 05:11:53 +0000
commitd4b69a2f242f7a1f29835932181555e4cca9d41b (patch)
treedd3bb2565443f37fc140e1664c2db3a2262b2453 /cdr/cdr_odbc.c
parentd0a7e585d78d1da3b5de04057ddd4c17ddcbb5bf (diff)
prevent deadlock if no config file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1889 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'cdr/cdr_odbc.c')
-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;
}