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

Corey Farrell reviewboard at asterisk.org
Sun Mar 15 05:33:49 CDT 2015


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

Review request for Asterisk Developers.


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
-----

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

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/20150315/0ec1c73f/attachment.html>


More information about the asterisk-dev mailing list