diff options
author | Timo Teräs <timo.teras@iki.fi> | 2013-09-25 11:59:14 +0300 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2013-09-25 12:00:31 +0300 |
commit | e263a9326d5fafa74961ecd9100bc3af88f6a5f1 (patch) | |
tree | 8bc06cdd7746e48b6e7e62073dc22d235a253c90 /main/asterisk/ASTERISK-21859.patch | |
parent | 6f66ef69f7eb158666dbc4045f76708a48ae0974 (diff) | |
download | aports-e263a9326d5fafa74961ecd9100bc3af88f6a5f1.tar.bz2 aports-e263a9326d5fafa74961ecd9100bc3af88f6a5f1.tar.xz |
main/asterisk: cherry-pick fix for ASTERISK-21859
Picked from 11-stable branch, and is already in 11.6.0-rc1.
But I need it early for testing.
Diffstat (limited to 'main/asterisk/ASTERISK-21859.patch')
-rw-r--r-- | main/asterisk/ASTERISK-21859.patch | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/main/asterisk/ASTERISK-21859.patch b/main/asterisk/ASTERISK-21859.patch new file mode 100644 index 0000000000..93437f527b --- /dev/null +++ b/main/asterisk/ASTERISK-21859.patch @@ -0,0 +1,24 @@ +https://issues.asterisk.org/jira/browse/ASTERISK-21859 +https://issues.asterisk.org/jira/browse/ASTERISK-22454 +https://issues.asterisk.org/jira/browse/ASTERISK-22581 + +Index: asterisk/apps/confbridge/conf_state_multi_marked.c +=================================================================== +diff -u -N -r380892 -r399222 +--- asterisk/apps/confbridge/conf_state_multi_marked.c (.../conf_state_multi_marked.c) (revision 380892) ++++ asterisk/apps/confbridge/conf_state_multi_marked.c (.../conf_state_multi_marked.c) (revision 399222) +@@ -95,6 +95,13 @@ + AST_LIST_TRAVERSE_SAFE_BEGIN(&cbu->conference_bridge->active_list, cbu_iter, list) { + /* Kick ENDMARKED cbu_iters */ + if (ast_test_flag(&cbu_iter->u_profile, USER_OPT_ENDMARKED)) { ++ if (ast_test_flag(&cbu_iter->u_profile, USER_OPT_WAITMARKED) && ++ !ast_test_flag(&cbu_iter->u_profile, USER_OPT_MARKEDUSER)) { ++ AST_LIST_REMOVE_CURRENT(list); ++ cbu_iter->conference_bridge->activeusers--; ++ AST_LIST_INSERT_TAIL(&cbu_iter->conference_bridge->waiting_list, cbu_iter, list); ++ cbu_iter->conference_bridge->waitingusers++; ++ } + cbu_iter->kicked = 1; + ast_bridge_remove(cbu_iter->conference_bridge->bridge, cbu_iter->chan); + } else if (ast_test_flag(&cbu_iter->u_profile, USER_OPT_WAITMARKED) && + |