From a40e6c115fe530e4ff503ad4701c3cae0fd9e28a Mon Sep 17 00:00:00 2001
From: Mark Spencer <markster@digium.com>
Date: Fri, 9 Jul 2004 07:37:44 +0000
Subject: [PATCH] Fix provisioning for unload/reload

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3406 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 channels/chan_iax2.c      | 1 +
 channels/iax2-provision.c | 7 +++++++
 channels/iax2-provision.h | 1 +
 3 files changed, 9 insertions(+)

diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index fd08f24571..fbaed07d68 100755
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -7108,6 +7108,7 @@ static int __unload_module(void)
 	ast_unregister_switch(&iax2_switch);
 	ast_channel_unregister(type);
 	delete_users();
+	iax_provision_unload();
 	return 0;
 }
 
diff --git a/channels/iax2-provision.c b/channels/iax2-provision.c
index b49ea164d9..da10977947 100755
--- a/channels/iax2-provision.c
+++ b/channels/iax2-provision.c
@@ -455,6 +455,13 @@ static int iax_provision_init(void)
 	return 0;
 }
 
+int iax_provision_unload(void)
+{
+	provinit = 0;
+	ast_cli_unregister(&cli_show_provisioning);
+	return 0;
+}
+
 int iax_provision_reload(void)
 {
 	struct ast_config *cfg;
diff --git a/channels/iax2-provision.h b/channels/iax2-provision.h
index 2422ce0d3a..3caaa5d31e 100755
--- a/channels/iax2-provision.h
+++ b/channels/iax2-provision.h
@@ -38,6 +38,7 @@
 
 extern char *iax_provflags2str(char *buf, int buflen, unsigned int flags);
 extern int iax_provision_reload(void);
+extern int iax_provision_unload(void);
 extern int iax_provision_build(struct iax_ie_data *provdata, unsigned int *signature, const char *template, int force);
 extern int iax_provision_version(unsigned int *signature, const char *template, int force);
 extern char *iax_prov_complete_template(char *line, char *word, int pos, int state);
-- 
GitLab