[asterisk-dev] [Code Review] 4466: logger: Replace 'struct ast_callid' with unsigned int's.
Corey Farrell
reviewboard at asterisk.org
Wed Mar 11 16:27:09 CDT 2015
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4466/
-----------------------------------------------------------
Review request for Asterisk Developers.
Bugs: ASTERISK-24833
https://issues.asterisk.org/jira/browse/ASTERISK-24833
Repository: Asterisk
Description
-------
The logger currently uses an AO2 to store a callid (int). This patch changes callid's to 'unsigned int'. AO2 is not needed for callid's.
This also fixes a theoretical infinate loop if a callid is subjected to an extra unreference but left in threadstorage. If ast_log tries getting an already released callid from threadstorage, ao2_ref will log an error. This would cause ast_log to try grabbing a reference to the callid again (same thread). The probability of this is very low and requires other code to be broken, but it's not impossible.
Change in behaviour: currently the first callid == 0. This patch changes the first callid to 1 since 0 now represents the lack of callid.
Diffs
-----
/trunk/res/ari/resource_bridges.c 432661
/trunk/main/pbx.c 432661
/trunk/main/logger.c 432661
/trunk/main/features.c 432661
/trunk/main/dial.c 432661
/trunk/main/core_unreal.c 432661
/trunk/main/core_local.c 432661
/trunk/main/cli.c 432661
/trunk/main/channel_internal_api.c 432661
/trunk/main/channel.c 432661
/trunk/main/bridge_channel.c 432661
/trunk/main/bridge_basic.c 432661
/trunk/main/bridge.c 432661
/trunk/main/autoservice.c 432661
/trunk/include/asterisk/logger.h 432661
/trunk/include/asterisk/core_unreal.h 432661
/trunk/include/asterisk/channel.h 432661
/trunk/include/asterisk/bridge_channel.h 432661
/trunk/include/asterisk/bridge.h 432661
/trunk/channels/sip/include/sip.h 432661
/trunk/channels/sip/include/dialog.h 432661
/trunk/channels/sip/dialplan_functions.c 432661
/trunk/channels/sig_ss7.c 432661
/trunk/channels/sig_pri.c 432661
/trunk/channels/sig_analog.c 432661
/trunk/channels/chan_sip.c 432661
/trunk/channels/chan_motif.c 432661
/trunk/channels/chan_iax2.c 432661
/trunk/channels/chan_dahdi.c 432661
/trunk/channels/chan_bridge_media.c 432661
/trunk/apps/confbridge/conf_chan_announce.c 432661
/trunk/apps/app_mixmonitor.c 432661
Diff: https://reviewboard.asterisk.org/r/4466/diff/
Testing
-------
Ran a couple tests against chan_sip and chan_iax2, visually inspected log files.
My dev system doesn't build chan_dahdi (ever), so Matt Jordan verified it still compiles.
Thanks,
Corey Farrell
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20150311/a37a089a/attachment.html>
More information about the asterisk-dev
mailing list