diff options
author | seanbright <seanbright@f38db490-d61c-443f-a65b-d21fe96a405b> | 2011-01-28 22:54:23 +0000 |
---|---|---|
committer | seanbright <seanbright@f38db490-d61c-443f-a65b-d21fe96a405b> | 2011-01-28 22:54:23 +0000 |
commit | f29bd485b91fd67987d17ba0a78640dbb3d2218e (patch) | |
tree | c02aea48a1a14d4836b9052efef1523276d20b0e /apps | |
parent | af14ec6df01a630d8bddf567cc97594bc3db7258 (diff) |
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: http://svn.digium.com/svn/asterisk/branches/1.8@304683 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rw-r--r-- | apps/app_meetme.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/apps/app_meetme.c b/apps/app_meetme.c index cae8dfd4d..8ce78784d 100644 --- a/apps/app_meetme.c +++ b/apps/app_meetme.c @@ -1220,6 +1220,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; @@ -1245,7 +1250,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; |