[asterisk-dev] [Code Review] 4596: res_pjsip_phoneprov_provider: Fix leaked OBJ_MULTIPLE iterator (2nd try)
George Joseph
reviewboard at asterisk.org
Wed Apr 8 13:09:29 CDT 2015
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4596/
-----------------------------------------------------------
(Updated April 8, 2015, 12:09 p.m.)
Review request for Asterisk Developers and Corey Farrell.
Changes
-------
Several things changed.
res_pjsip_phoneprov_provider now uses it's own sorcery instance for the phoneprov objects instead of res_pjsip's. This should allow it to unload independently of res_pjsip. It still has to use res_pjsip's instance to retrieve endpoint, transport and auth details but that's ok.
res_pjsip_config_wizard now handles res_pjsip_phoneprov_provider's sorcery instance and it now observes sorcery instance destroys so that it can unload independently of res_pjsip.
I've run tests/phoneprov/res_phoneprov_pjsip/ several times and it's neither FRACKing not leaking.
Bugs: ASTERISK-24935
https://issues.asterisk.org/jira/browse/ASTERISK-24935
Repository: Asterisk
Description
-------
Original issue: res_pjsip_phoneprov_provider was using ao2_callback with OBJ_MULTIPLE, then ignoring the return. This resulted in a reference leak. Added OBJ_NODATA flag.
Unfortunately, this highlighted a module unload order issue where res_phoneprov and res_pjsip_phoneprov_provider were unloading before res_pjsip_config_wizard, which needed them.
res_pjsip_config_wizard is itself a sorcery wizard so there are some complexities to it's load order (it's long story) but I've removed the GLOBAL_SYMBOLS flag from res_pjsip_config_wizard so it loads later and unloads earlier and also triggered a reload of res_pjsip_phoneprov_provider. Now they load and unload in the correct order.
Diffs (updated)
-----
branches/13/res/res_pjsip_phoneprov_provider.c 434423
branches/13/res/res_pjsip_config_wizard.c 434423
Diff: https://reviewboard.asterisk.org/r/4596/diff/
Testing
-------
Checked load/unload order and make sure there were no FRACKs on unload.
Thanks,
George Joseph
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20150408/e51df15b/attachment.html>
More information about the asterisk-dev
mailing list