[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