Merge "stasis: Call callbacks when imparting fails" into 16

This commit is contained in:
Friendly Automation
2019-05-03 10:13:16 -05:00
committed by Gerrit Code Review
2 changed files with 4 additions and 0 deletions

View File

@@ -594,6 +594,9 @@ enum ast_bridge_impart_flags {
* it were placed into the bridge by ast_bridge_join().
* Channels placed into a bridge by ast_bridge_join() are
* removed by a third party using ast_bridge_remove().
*
* \note Any callbacks on the channel will be invoked on failure
* with the reason as AST_BRIDGE_AFTER_CB_REASON_IMPART_FAILED.
*/
int ast_bridge_impart(struct ast_bridge *bridge,
struct ast_channel *chan,

View File

@@ -1953,6 +1953,7 @@ int ast_bridge_impart(struct ast_bridge *bridge,
res = bridge_impart_internal(bridge, chan, swap, features, flags, &cond);
if (res) {
/* Impart failed. Signal any other waiting impart threads */
ast_bridge_discard_after_callback(chan, AST_BRIDGE_AFTER_CB_REASON_IMPART_FAILED);
bridge_channel_impart_signal(chan);
}