From ef697de4a56b42da2399a368e36e54eea9b7ce3d Mon Sep 17 00:00:00 2001
From: Corey Farrell <git@cfware.com>
Date: Wed, 23 Jul 2014 01:28:57 +0000
Subject: [PATCH] res_fax: unregister manager actions on unload

* 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 | 2 +-
 res/res_fax.c  | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/main/manager.c b/main/manager.c
index 35ba5d46cb..f5d00d1d35 100644
--- a/main/manager.c
+++ b/main/manager.c
@@ -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;
 	}
diff --git a/res/res_fax.c b/res/res_fax.c
index d59ab09e6e..68d2972cbd 100644
--- a/res/res_fax.c
+++ b/res/res_fax.c
@@ -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");
 	}
-- 
GitLab