summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorSean Bright <sean@malleable.com>2011-01-28 22:59:27 +0000
committerSean Bright <sean@malleable.com>2011-01-28 22:59:27 +0000
commitc5cf436a9299e51d838794d731ecab1874aa7109 (patch)
tree0c8ef58668fb7da55a1e3e13a4a16bbf706670e1 /apps
parent64dfc6e73571e46737652be219f0bb0d5b83b4ea (diff)
Merged revisions 304683 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r304683 | seanbright | 2011-01-28 17:54:23 -0500 (Fri, 28 Jan 2011) | 16 lines Merged revisions 304659,304682 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r304659 | seanbright | 2011-01-28 16:22:09 -0500 (Fri, 28 Jan 2011) | 5 lines Don't leak references if we can't create a pseudo channel for mixing in MeetMe. If there was a problem allocating a pseudo channel when building our meetme, we weren't destroying our user container or destroying the mutexes that we created. ........ r304682 | seanbright | 2011-01-28 17:38:05 -0500 (Fri, 28 Jan 2011) | 2 lines Revert part of the previous commit that snuck in. ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@304684 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps')
-rw-r--r--apps/app_meetme.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/apps/app_meetme.c b/apps/app_meetme.c
index 561ac46e8..5910403b3 100644
--- a/apps/app_meetme.c
+++ b/apps/app_meetme.c
@@ -1231,6 +1231,11 @@ static struct ast_conference *build_conf(const char *confno, const char *pin,
ast_log(LOG_WARNING, "Unable to open DAHDI pseudo device\n");
if (cnf->fd >= 0)
close(cnf->fd);
+ ao2_ref(cnf->usercontainer, -1);
+ ast_mutex_destroy(&cnf->playlock);
+ ast_mutex_destroy(&cnf->listenlock);
+ ast_mutex_destroy(&cnf->recordthreadlock);
+ ast_mutex_destroy(&cnf->announcethreadlock);
ast_free(cnf);
cnf = NULL;
goto cnfout;
@@ -1256,7 +1261,11 @@ static struct ast_conference *build_conf(const char *confno, const char *pin,
ast_hangup(cnf->chan);
else
close(cnf->fd);
-
+ ao2_ref(cnf->usercontainer, -1);
+ ast_mutex_destroy(&cnf->playlock);
+ ast_mutex_destroy(&cnf->listenlock);
+ ast_mutex_destroy(&cnf->recordthreadlock);
+ ast_mutex_destroy(&cnf->announcethreadlock);
ast_free(cnf);
cnf = NULL;
goto cnfout;