[asterisk-dev] [Code Review] Re-work MoH class object handling
Russell Bryant
russell at digium.com
Fri Dec 19 16:37:09 CST 2008
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.digium.com/r/106/
-----------------------------------------------------------
(Updated 2008-12-19 16:37:09.249048)
Review request for Asterisk Developers.
Summary
-------
This is a big change to res_musiconhold which re-works how object management was being done for the MoH classes.
Previously, there was a hand-rolled use count being used. However, there have been some crashes reported in this module, and I am pretty confident that there are errors in how the reference counts were being handled before. So, I have reworked this to use astobj2 and made sure that references were handled in all places that they should be.
There should be no noticeable changes from the user point of view, other than (hopefully) increased stability. From a developer point of view, this makes the code more streamlined with how we handle reference counts elsewhere in Asterisk.
Finally, there are some code cleanups mixed in here, too ... sorry, I couldn't help it.
This addresses bug 13566.
http://bugs.digium.com/view.php?id=13566
Diffs (updated)
-----
/branches/1.4/include/asterisk/astobj2.h 166056
/branches/1.4/include/asterisk/strings.h 166056
/branches/1.4/main/astobj2.c 166056
/branches/1.4/res/res_musiconhold.c 166056
Diff: http://reviewboard.digium.com/r/106/diff
Testing
-------
I have made a bunch of calls to MoH. I have done a bunch of reloads. I did reloads adding and removing classes. I also made sure that I did a reload to remove a class that was in use.
During these tests, I made sure that classes got destroyed when they were supposed to, and that there were no memory leaks. All looks good.
Thanks,
Russell
More information about the asterisk-dev
mailing list