Fix a few potential deadlocks in cdr_sqlite3_custom.
authorJason Parker <jparker@digium.com>
Fri, 9 Nov 2007 16:32:01 +0000 (16:32 +0000)
committerJason Parker <jparker@digium.com>
Fri, 9 Nov 2007 16:32:01 +0000 (16:32 +0000)
(also rename sample config to .sample)

Closes issue #11208, patch by Laureano.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89130 65c4cc65-6c06-0410-ace0-fbb531ad65f3

cdr/cdr_sqlite3_custom.c
configs/cdr_sqlite3_custom.conf.sample [moved from configs/cdr_sqlite3_custom.conf with 100% similarity]

index 26ec6ff..a3ca00a 100644 (file)
@@ -94,6 +94,7 @@ static int load_config(int reload)
 
        if (!(mappingvar = ast_variable_browse(cfg, "master"))) {
                /* nothing configured */
+               ast_mutex_unlock(&lock);
                ast_config_destroy(cfg);
                return 0;
        }
@@ -113,6 +114,7 @@ static int load_config(int reload)
        else {
                ast_log(LOG_WARNING, "%s: Column names not specified. Module not loaded.\n",
                                name);
+               ast_mutex_unlock(&lock);
                ast_config_destroy(cfg);
                return -1;
        }
@@ -122,6 +124,7 @@ static int load_config(int reload)
                ast_copy_string(values, tmp, sizeof(values));
        else {
                ast_log(LOG_WARNING, "%s: Values not specified. Module not loaded.\n", name);
+               ast_mutex_unlock(&lock);
                ast_config_destroy(cfg);
                return -1;
        }