mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-03 11:25:35 +00:00
res_stasis: Don't unsubscribe from a NULL bridge.
A NULL bridge has special meaning in res_stasis for unsubscribing. It means that a subscription to ALL bridges should be removed. This should not be done as part of the normal subscription management in the res_stasis channel loop. ASTERISK-26468 Change-Id: I6d5bea8246dd13a22ef86b736aefbf2a39c15af0
This commit is contained in:
@@ -1327,7 +1327,9 @@ int stasis_app_exec(struct ast_channel *chan, const char *app_name, int argc,
|
||||
bridge = ao2_bump(stasis_app_get_bridge(control));
|
||||
|
||||
if (bridge != last_bridge) {
|
||||
app_unsubscribe_bridge(app, last_bridge);
|
||||
if (last_bridge) {
|
||||
app_unsubscribe_bridge(app, last_bridge);
|
||||
}
|
||||
if (bridge) {
|
||||
app_subscribe_bridge(app, bridge);
|
||||
}
|
||||
@@ -1388,7 +1390,9 @@ int stasis_app_exec(struct ast_channel *chan, const char *app_name, int argc,
|
||||
ast_bridge_depart(chan);
|
||||
}
|
||||
|
||||
app_unsubscribe_bridge(app, stasis_app_get_bridge(control));
|
||||
if (stasis_app_get_bridge(control)) {
|
||||
app_unsubscribe_bridge(app, stasis_app_get_bridge(control));
|
||||
}
|
||||
ao2_cleanup(bridge);
|
||||
|
||||
/* Only publish a stasis_end event if it hasn't already been published */
|
||||
|
Reference in New Issue
Block a user