]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
cel_pgsql: module not correctly reloading
authorKevin Harwell <kharwell@digium.com>
Fri, 3 Jan 2014 21:57:11 +0000 (21:57 +0000)
committerKevin Harwell <kharwell@digium.com>
Fri, 3 Jan 2014 21:57:11 +0000 (21:57 +0000)
Upon reload the module unconditionally "unloaded" the module (freeing memory
and setting pointers to NULL) and then when attempting a "load" if the config
file had not changed then nothing would be reinitialized.

By moving the "unload" to occur conditionally (reload only) after an attempted
configuration load, but before module "loading" alleviates the issue. The module
now loads/unloads/reloads correctly.

(closes issue ASTERISK-22871)
Reported by: Matteo

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

cel/cel_pgsql.c

index 58d7a4f5f557cc1d61726b9b74dfa5949f2f2059..3b44d71d9bbcf08479bf93636a15e23dad0f7e87 100644 (file)
@@ -542,6 +542,10 @@ static int my_load_module(int reload)
                return AST_MODULE_LOAD_SUCCESS;
        }
 
+       if (reload) {
+               my_unload_module();
+       }
+
        process_my_load_module(cfg);
        ast_config_destroy(cfg);
 
@@ -562,7 +566,6 @@ static int load_module(void)
 
 static int reload(void)
 {
-       my_unload_module();
        return my_load_module(1);
 }