Confbridge: empty conference not being torn down
authorKevin Harwell <kharwell@digium.com>
Tue, 17 Sep 2013 14:58:22 +0000 (14:58 +0000)
committerKevin Harwell <kharwell@digium.com>
Tue, 17 Sep 2013 14:58:22 +0000 (14:58 +0000)
commitb1db2df8714f4d9eaa92e1110d4ae43bc6d22df8
tree8040d90fe5cb635ee06a06903c6661ff5980d1ef
parente77fba4b251dec3e56abc2f1e16ab28ace58d5bf
Confbridge: empty conference not being torn down

Confbridge would not properly tear down an empty conference bridge when all
users were kicked via end_marked=yes and at least one user was also set to
wait_marked.  This occurred because while end_marked users were being kicked
and at least one was also set to wait_marked then the leave wait_marked handler
would be called on that user, but there would be no waiting user (still
considered active).  The waiting users would decrement and now be negative.  The
conference would remain, but be put into an inactive state.  The solution was
to move from the active list to the wait list, those users with wait_marked set
right before kicking.  This allows both the active and wait users to decrement
correctly and the confbridge to tear down properly.

A crashed also occurred when trying to list the specific conference from the CLI.
This happened because the conference specified was invalid.  Since the
conference properly tears down now there is no way to reference it thus
alleviating the crash as well.

(closes issue ASTERISK-21859)
Reported by: Chris Gentle
Review: https://reviewboard.asterisk.org/r/2848/
........

Merged revisions 399222 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 399225 from http://svn.asterisk.org/svn/asterisk/branches/12

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@399226 65c4cc65-6c06-0410-ace0-fbb531ad65f3
apps/confbridge/conf_state_multi_marked.c