diff options
author | bbryant <bbryant@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-06-17 21:46:57 +0000 |
---|---|---|
committer | bbryant <bbryant@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-06-17 21:46:57 +0000 |
commit | 720a492e88bee291ee8afa7559b6c0a30e205661 (patch) | |
tree | 433e912686703e932450fab80be4457b5636176a /apps/app_externalivr.c | |
parent | 7b14a79ae755f65fdc3608a48cb0c7ffbdce5638 (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: http://svn.digium.com/svn/asterisk/trunk@123546 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_externalivr.c')
-rw-r--r-- | apps/app_externalivr.c | 3 |
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); |