mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-17 15:29:05 +00:00
allow 'show memory' and 'show memory summary' to distinguish memory allocations that were done for caching purposes, so they don't look like memory leaks
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@48987 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -44,6 +44,7 @@
|
||||
#undef vasprintf
|
||||
|
||||
void *__ast_calloc(size_t nmemb, size_t size, const char *file, int lineno, const char *func);
|
||||
void *__ast_calloc_cache(size_t nmemb, size_t size, const char *file, int lineno, const char *func);
|
||||
void *__ast_malloc(size_t size, const char *file, int lineno, const char *func);
|
||||
void __ast_free(void *ptr, const char *file, int lineno, const char *func);
|
||||
void *__ast_realloc(void *ptr, size_t size, const char *file, int lineno, const char *func);
|
||||
@@ -59,6 +60,9 @@ void __ast_mm_init(void);
|
||||
#define calloc(a,b) \
|
||||
__ast_calloc(a,b,__FILE__, __LINE__, __PRETTY_FUNCTION__)
|
||||
|
||||
#define ast_calloc_cache(a,b) \
|
||||
__ast_calloc_cache(a,b,__FILE__, __LINE__, __PRETTY_FUNCTION__)
|
||||
|
||||
#define malloc(a) \
|
||||
__ast_malloc(a,__FILE__, __LINE__, __PRETTY_FUNCTION__)
|
||||
|
||||
|
||||
@@ -361,6 +361,19 @@ void * attribute_malloc _ast_calloc(size_t num, size_t len, const char *file, in
|
||||
}
|
||||
)
|
||||
|
||||
/*!
|
||||
* \brief A wrapper for calloc() for use in cache pools
|
||||
*
|
||||
* ast_calloc_cache() is a wrapper for calloc() that will generate an Asterisk log
|
||||
* message in the case that the allocation fails. When memory debugging is in use,
|
||||
* the memory allocated by this function will be marked as 'cache' so it can be
|
||||
* distinguished from normal memory allocations.
|
||||
*
|
||||
* The arguments and return value are the same as calloc()
|
||||
*/
|
||||
#define ast_calloc_cache(num, len) \
|
||||
_ast_calloc((num), (len), __FILE__, __LINE__, __PRETTY_FUNCTION__)
|
||||
|
||||
/*!
|
||||
* \brief A wrapper for realloc()
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user