summaryrefslogtreecommitdiff
path: root/addons/ooh323c/src
diff options
context:
space:
mode:
authorAlexandr Anikin <may@telecom-service.ru>2012-02-26 18:25:23 +0000
committerAlexandr Anikin <may@telecom-service.ru>2012-02-26 18:25:23 +0000
commit62994531e28f8a00e559908d70ee2ccbe6442737 (patch)
tree105db973238f40686f6f6ede5068c447400299d6 /addons/ooh323c/src
parent5e40f2cd98143c2e3997375db24beee54e1e70a9 (diff)
Add support change gatekeeper mode or ip per ooh323 reload command
(issue ASTERISK-19298) Reported by: Dmitry Melekhov Patches: change_gk_on_reload-1.patch (License #5415) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@356848 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'addons/ooh323c/src')
-rw-r--r--addons/ooh323c/src/ooGkClient.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/addons/ooh323c/src/ooGkClient.c b/addons/ooh323c/src/ooGkClient.c
index dff3e751b..c91b9ed95 100644
--- a/addons/ooh323c/src/ooGkClient.c
+++ b/addons/ooh323c/src/ooGkClient.c
@@ -170,23 +170,25 @@ void ooGkClientPrintConfig(ooGkClient *pGkClient)
int ooGkClientDestroy(void)
{
+ ooGkClient *pGkClient = gH323ep.gkClient;
+
if(gH323ep.gkClient)
{
- if(gH323ep.gkClient->state == GkClientRegistered)
+ ast_mutex_lock(&pGkClient->Lock);
+ gH323ep.gkClient = NULL;
+ if(pGkClient->state == GkClientRegistered)
{
OOTRACEINFO1("Unregistering from Gatekeeper\n");
- if(ooGkClientSendURQ(gH323ep.gkClient, NULL)!=OO_OK)
+ if(ooGkClientSendURQ(pGkClient, NULL)!=OO_OK)
OOTRACEERR1("Error:Failed to send URQ to gatekeeper\n");
}
OOTRACEINFO1("Destroying Gatekeeper Client\n");
- ooGkClientCloseChannel(gH323ep.gkClient);
- freeContext(&gH323ep.gkClient->msgCtxt);
- freeContext(&gH323ep.gkClient->ctxt);
- ast_mutex_lock(&gH323ep.gkClient->Lock);
- ast_mutex_unlock(&gH323ep.gkClient->Lock);
- ast_mutex_destroy(&gH323ep.gkClient->Lock);
- memFreePtr(&gH323ep.ctxt, gH323ep.gkClient);
- gH323ep.gkClient = NULL;
+ ooGkClientCloseChannel(pGkClient);
+ freeContext(&pGkClient->msgCtxt);
+ freeContext(&pGkClient->ctxt);
+ ast_mutex_unlock(&pGkClient->Lock);
+ ast_mutex_destroy(&pGkClient->Lock);
+ memFreePtr(&gH323ep.ctxt, pGkClient);
}
return OO_OK;
}