]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
res_pjsip_notify: Fix crash on unload/load and don't say the module doesn't exist...
authorJoshua Colp <jcolp@digium.com>
Fri, 19 Sep 2014 19:51:50 +0000 (19:51 +0000)
committerJoshua Colp <jcolp@digium.com>
Fri, 19 Sep 2014 19:51:50 +0000 (19:51 +0000)
When unloading the module did not unregister the CLI commands causing a crash upon
load when they were registered again.

When reloading the module the return value from the config options framework was not
checked to determine if an error occurred or not. This caused a message to be output
saying the module did not exist when reloading if no changes were present.

AST-1433 #close
AST-1434 #close
........

Merged revisions 423579 from http://svn.asterisk.org/svn/asterisk/branches/12
........

Merged revisions 423580 from http://svn.asterisk.org/svn/asterisk/branches/13

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

res/res_pjsip_notify.c

index cc526c8003f92f2d4c02dfd864da4f02e88db690..8b61d1346c060a4a24e169c8b07ca633e1b79641 100644 (file)
@@ -1007,13 +1007,17 @@ static int load_module(void)
 
 static int reload_module(void)
 {
-       return aco_process_config(&notify_cfg, 1) ?
-               AST_MODULE_LOAD_DECLINE : 0;
+       if (aco_process_config(&notify_cfg, 1) == ACO_PROCESS_ERROR) {
+               return AST_MODULE_LOAD_DECLINE;
+       }
+
+       return 0;
 }
 
 static int unload_module(void)
 {
        ast_manager_unregister("PJSIPNotify");
+       ast_cli_unregister_multiple(cli_options, ARRAY_LEN(cli_options));
        aco_info_destroy(&notify_cfg);
 
        return 0;