diff options
author | Corey Farrell <git@cfware.com> | 2018-01-06 03:17:15 -0500 |
---|---|---|
committer | Corey Farrell <git@cfware.com> | 2018-01-08 17:51:28 -0600 |
commit | 17480f6ea460cc1e8de532c0ce0a989247858606 (patch) | |
tree | d24a8846eca3ee41280e642b9e131ade938ff621 /res/stasis/stasis_bridge.c | |
parent | 7cc614d22363398747bd2c1aa81d3422cf2d07c5 (diff) |
res_stasis: Reduce RAII_VAR usage.
In addition to being a micro-optimization (RAII_VAR has overhead), this
change improves output of REF_DEBUG. Unfortunately when RAII_VAR calls
ao2_cleanup it does so from a generated _dtor_varname function. For
example this caused _dtor_app to release a reference instead of
__stasis_app_unregister.
Change-Id: I4ce67120583a446babf9adeec678b71d37fcd9e5
Diffstat (limited to 'res/stasis/stasis_bridge.c')
-rw-r--r-- | res/stasis/stasis_bridge.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/res/stasis/stasis_bridge.c b/res/stasis/stasis_bridge.c index 81b35e308..701cbaea8 100644 --- a/res/stasis/stasis_bridge.c +++ b/res/stasis/stasis_bridge.c @@ -252,7 +252,7 @@ static int bridge_stasis_moving(struct ast_bridge_channel *bridge_channel, void { if (src->v_table == &bridge_stasis_v_table && dst->v_table != &bridge_stasis_v_table) { - RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup); + struct stasis_app_control *control; struct ast_channel *chan; chan = bridge_channel->chan; @@ -265,6 +265,7 @@ static int bridge_stasis_moving(struct ast_bridge_channel *bridge_channel, void stasis_app_channel_set_stasis_end_published(chan); app_send_end_msg(control_app(control), chan); + ao2_ref(control, -1); } return -1; |