diff options
author | jeremy <jeremy@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-01-04 05:11:53 +0000 |
---|---|---|
committer | jeremy <jeremy@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-01-04 05:11:53 +0000 |
commit | 919903f9427a08d97f2832354d457484d8478637 (patch) | |
tree | dd3bb2565443f37fc140e1664c2db3a2262b2453 /cdr/cdr_odbc.c | |
parent | 84ed7d5a8dd473636c095153842c1910d3569511 (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/cdr_odbc.c')
-rwxr-xr-x | cdr/cdr_odbc.c | 7 |
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; } |