[asterisk-dev] [Code Review] 4501: ast_register_atexit should only be used when absolutely needed (13+ version)

Corey Farrell reviewboard at asterisk.org
Tue Mar 24 17:18:10 CDT 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4501/
-----------------------------------------------------------

(Updated March 24, 2015, 6:18 p.m.)


Review request for Asterisk Developers.


Changes
-------

* Remove hangup loop in core_local.c
* Merge bridge.c cleanup functions.


Bugs: ASTERISK-24142, ASTERISK-24683, ASTERISK-24805, and ASTERISK-24881
    https://issues.asterisk.org/jira/browse/ASTERISK-24142
    https://issues.asterisk.org/jira/browse/ASTERISK-24683
    https://issues.asterisk.org/jira/browse/ASTERISK-24805
    https://issues.asterisk.org/jira/browse/ASTERISK-24881


Repository: Asterisk


Description
-------

We've had many issues related to "core stop now" or "core restart now" causing segmentation faults.  The solution to this is to change almost everything to use ast_register_cleanup.

Exceptions:
CDR: Flush records.
res_musiconhold: Kill external applications.
AstDB: Close the DB.
canary_exit: Kill canary process.

Although some changes from ast_register_atexit to ast_register_cleanup are not strictly necessary, the point is for nothing to use ast_register_atexit except where required.  For this reason the change is across the board.


Diffs (updated)
-----

  /branches/13/main/xmldoc.c 433360 
  /branches/13/main/utils.c 433360 
  /branches/13/main/udptl.c 433360 
  /branches/13/main/timing.c 433360 
  /branches/13/main/threadstorage.c 433360 
  /branches/13/main/taskprocessor.c 433360 
  /branches/13/main/stun.c 433360 
  /branches/13/main/stasis.c 433360 
  /branches/13/main/sounds_index.c 433360 
  /branches/13/main/sorcery.c 433360 
  /branches/13/main/rtp_engine.c 433360 
  /branches/13/main/pickup.c 433360 
  /branches/13/main/pbx.c 433360 
  /branches/13/main/message.c 433360 
  /branches/13/main/manager_system.c 433360 
  /branches/13/main/manager_mwi.c 433360 
  /branches/13/main/manager_endpoints.c 433360 
  /branches/13/main/manager_channels.c 433360 
  /branches/13/main/manager_bridges.c 433360 
  /branches/13/main/manager.c 433360 
  /branches/13/main/indications.c 433360 
  /branches/13/main/image.c 433360 
  /branches/13/main/http.c 433360 
  /branches/13/main/format_cache.c 433360 
  /branches/13/main/format.c 433360 
  /branches/13/main/file.c 433360 
  /branches/13/main/features.c 433360 
  /branches/13/main/dnsmgr.c 433360 
  /branches/13/main/data.c 433360 
  /branches/13/main/core_local.c 433360 
  /branches/13/main/config_options.c 433360 
  /branches/13/main/config.c 433360 
  /branches/13/main/codec.c 433360 
  /branches/13/main/cli.c 433360 
  /branches/13/main/channel.c 433360 
  /branches/13/main/cel.c 433360 
  /branches/13/main/ccss.c 433360 
  /branches/13/main/bridge.c 433360 
  /branches/13/main/astobj2_container.c 433360 
  /branches/13/main/astobj2.c 433360 
  /branches/13/main/astmm.c 433360 
  /branches/13/main/astfd.c 433360 
  /branches/13/main/asterisk.c 433360 
  /branches/13/main/aoc.c 433360 
  /branches/13/include/asterisk.h 433360 

Diff: https://reviewboard.asterisk.org/r/4501/diff/


Testing
-------

Compiled, started and ran 'core stop now'.


Thanks,

Corey Farrell

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20150324/f0b86454/attachment.html>


More information about the asterisk-dev mailing list