diff options
author | seanbright <seanbright@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-01-15 15:33:18 +0000 |
---|---|---|
committer | seanbright <seanbright@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-01-15 15:33:18 +0000 |
commit | e9b322f9303c26d6d1594544bac1548708515126 (patch) | |
tree | 833a0501ac02495a35374278867646706abdaa69 /apps/app_meetme.c | |
parent | 8b3460cd69d14042f1f3ca16e777db9997b04f5e (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.c | 4 |
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; } |