mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
main/astobj2: Make REF_DEBUG a menuselect item; improve REF_DEBUG output
This patch does the following: (1) It makes REF_DEBUG a meneselect item. Enabling REF_DEBUG now enables REF_DEBUG globally throughout Asterisk. (2) The ref debug log file is now created in the AST_LOG_DIR directory. Every run will now blow away the previous run (as large ref files sometimes caused issues). We now also no longer open/close the file on each write, instead relying on fflush to make sure data gets written to the file (in case the ao2 call being performed is about to cause a crash) (3) It goes with a comma delineated format for the ref debug file. This makes parsing much easier. This also now includes the thread ID of the thread that caused ref change. (4) A new python script instead for refcounting has been added in the contrib/scripts folder. Review: https://reviewboard.asterisk.org/r/3377/ ........ Merged revisions 412114 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 412115 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@412153 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -230,21 +230,6 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
|
||||
|
||||
#include "asterisk/network.h"
|
||||
#include "asterisk/paths.h" /* need ast_config_AST_SYSTEM_NAME */
|
||||
/*
|
||||
Uncomment the define below, if you are having refcount related memory leaks.
|
||||
With this uncommented, this module will generate a file, /tmp/refs, which contains
|
||||
a history of the ao2_ref() calls. To be useful, all calls to ao2_* functions should
|
||||
be modified to ao2_t_* calls, and include a tag describing what is happening with
|
||||
enough detail, to make pairing up a reference count increment with its corresponding decrement.
|
||||
The refcounter program in utils/ can be invaluable in highlighting objects that are not
|
||||
balanced, along with the complete history for that object.
|
||||
In normal operation, the macros defined will throw away the tags, so they do not
|
||||
affect the speed of the program at all. They can be considered to be documentation.
|
||||
|
||||
Note: This must also be enabled in channels/sip/security_events.c
|
||||
*/
|
||||
/* #define REF_DEBUG 1 */
|
||||
|
||||
#include "asterisk/lock.h"
|
||||
#include "asterisk/config.h"
|
||||
#include "asterisk/module.h"
|
||||
|
Reference in New Issue
Block a user