aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_meetme.c
diff options
context:
space:
mode:
authorseanbright <seanbright@f38db490-d61c-443f-a65b-d21fe96a405b>2009-01-15 15:33:18 +0000
committerseanbright <seanbright@f38db490-d61c-443f-a65b-d21fe96a405b>2009-01-15 15:33:18 +0000
commite9b322f9303c26d6d1594544bac1548708515126 (patch)
tree833a0501ac02495a35374278867646706abdaa69 /apps/app_meetme.c
parent8b3460cd69d14042f1f3ca16e777db9997b04f5e (diff)
Add a missing unlock and properly handle the 'maxusers' setting on MeetMe
conferences. We were using the 'user number' field to compare against the maximum allowed users, which works assuming users with lower user numbers didn't leave the conference. (closes issue #14117) Reported by: sergedevorop Patches: 20090114__bug14117-2.diff.txt uploaded by seanbright (license 71) Tested by: sergedevorop git-svn-id: http://svn.digium.com/svn/asterisk/trunk@168705 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_meetme.c')
-rw-r--r--apps/app_meetme.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/apps/app_meetme.c b/apps/app_meetme.c
index 0c490644e..f4ed6a87c 100644
--- a/apps/app_meetme.c
+++ b/apps/app_meetme.c
@@ -2187,10 +2187,12 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int c
user->user_no = AST_LIST_LAST(&conf->userlist)->user_no + 1;
if (rt_schedule && conf->maxusers)
- if (user->user_no > conf->maxusers) {
+ if (conf->users >= conf->maxusers) {
/* Sorry, but this confernce has reached the participant limit! */
if (!ast_streamfile(chan, "conf-full", chan->language))
ast_waitstream(chan, "");
+ ast_mutex_unlock(&conf->playlock);
+ user->user_no = 0;
goto outrun;
}