astobj2: Unregister debug CLI commands at exit
authorJonathan Rose <jrose@digium.com>
Thu, 24 Oct 2013 19:31:23 +0000 (19:31 +0000)
committerJonathan Rose <jrose@digium.com>
Thu, 24 Oct 2013 19:31:23 +0000 (19:31 +0000)
(issue ASTERISK-22467)
Reported by: Corey Farrell
Patches:
    astobj2-clean-debug-cli-1.8-11.patch uploaded by coreyfarrell (license 5909)
    astobj2-clean-debug-cli-12up.patch uploaded by coreyfarrell (license 5909)
........

Merged revisions 401781 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 401783 from http://svn.asterisk.org/svn/asterisk/branches/11
........

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

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

main/astobj2.c

index 88801bd..614e170 100644 (file)
@@ -5576,11 +5576,14 @@ static struct ast_cli_entry cli_astobj2[] = {
 };
 #endif /* defined(AO2_DEBUG) || defined(AST_DEVMODE) */
 
-#if defined(AST_DEVMODE)
+#if defined(AO2_DEBUG) || defined(AST_DEVMODE)
 static void astobj2_cleanup(void)
 {
+#if defined(AST_DEVMODE)
        ao2_t_ref(reg_containers, -1, "Releasing container registration container");
        reg_containers = NULL;
+#endif
+       ast_cli_unregister_multiple(cli_astobj2, ARRAY_LEN(cli_astobj2));
 }
 #endif
 
@@ -5593,10 +5596,10 @@ int astobj2_init(void)
        if (!reg_containers) {
                return -1;
        }
-       ast_register_atexit(astobj2_cleanup);
 #endif /* defined(AST_DEVMODE) */
 #if defined(AO2_DEBUG) || defined(AST_DEVMODE)
        ast_cli_register_multiple(cli_astobj2, ARRAY_LEN(cli_astobj2));
+       ast_register_atexit(astobj2_cleanup);
 #endif /* defined(AO2_DEBUG) || defined(AST_DEVMODE) */
 
        return 0;