diff options
author | Jeremy McNamara <jj@nufone.net> | 2004-01-04 05:11:53 +0000 |
---|---|---|
committer | Jeremy McNamara <jj@nufone.net> | 2004-01-04 05:11:53 +0000 |
commit | d4b69a2f242f7a1f29835932181555e4cca9d41b (patch) | |
tree | dd3bb2565443f37fc140e1664c2db3a2262b2453 /cdr/cdr_odbc.c | |
parent | d0a7e585d78d1da3b5de04057ddd4c17ddcbb5bf (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-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; } |