summaryrefslogtreecommitdiff
path: root/apps/app_externalivr.c
diff options
context:
space:
mode:
authorBrett Bryant <bbryant@digium.com>2008-06-17 21:46:57 +0000
committerBrett Bryant <bbryant@digium.com>2008-06-17 21:46:57 +0000
commit2aae0ba13deb7eb06138587e5b4e8c1a5feeeb47 (patch)
tree433e912686703e932450fab80be4457b5636176a /apps/app_externalivr.c
parent9d403c379fcac970210c6d42dbfe4e98b175bccc (diff)
Updates all usages of ast_tcptls_session_instance to be managed by reference counts so that they only get destroyed when all threads are done using
them, and memory does not get free'd causing strange issues with SIP. This code was originally written by russellb in the team/group/issue_11972/ branch. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@123546 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps/app_externalivr.c')
-rw-r--r--apps/app_externalivr.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/apps/app_externalivr.c b/apps/app_externalivr.c
index 460c3cf72..e6583577a 100644
--- a/apps/app_externalivr.c
+++ b/apps/app_externalivr.c
@@ -515,8 +515,7 @@ static int app_exec(struct ast_channel *chan, void *data)
if (child_stderr[1])
close(child_stderr[1]);
if (ser) {
- fclose(ser->f);
- ast_tcptls_session_instance_destroy(ser);
+ ao2_ref(ser, -1);
}
while ((entry = AST_LIST_REMOVE_HEAD(&u->playlist, list)))
ast_free(entry);