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: https://origsvn.digium.com/svn/asterisk/trunk@168705 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Sean Bright
2009-01-15 15:33:18 +00:00
parent 04352dac96
commit fcb69e6f9d

View File

@@ -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;
}