res_fax: unregister manager actions on unload
authorCorey Farrell <git@cfware.com>
Wed, 23 Jul 2014 01:28:57 +0000 (01:28 +0000)
committerCorey Farrell <git@cfware.com>
Wed, 23 Jul 2014 01:28:57 +0000 (01:28 +0000)
* Unregister manager actions FAXSessions, FAXSession and FAXStats at unload.
* Update ast_manager_register2 use ao2_t_alloc tagged with the action name.

ASTERISK-24058 #close
Reported by: Corey Farrell
Review: https://reviewboard.asterisk.org/r/3831/

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

main/manager.c
res/res_fax.c

index 35ba5d4..f5d00d1 100644 (file)
@@ -6317,7 +6317,7 @@ int ast_manager_register2(const char *action, int auth, int (*func)(struct manse
 {
        struct manager_action *cur;
 
-       cur = ao2_alloc(sizeof(*cur), action_destroy);
+       cur = ao2_t_alloc(sizeof(*cur), action_destroy, action);
        if (!cur) {
                return -1;
        }
index d59ab09..68d2972 100644 (file)
@@ -4553,6 +4553,10 @@ static int unload_module(void)
                ast_log(LOG_WARNING, "failed to unregister '%s'\n", app_receivefax);
        }
 
+       ast_manager_unregister("FAXSessions");
+       ast_manager_unregister("FAXSession");
+       ast_manager_unregister("FAXStats");
+
        if (fax_logger_level != -1) {
                ast_logger_unregister_level("FAX");
        }