mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 07:35:18 +00:00
When astmm is in use, define ast_malloc and friends to malloc, etc., so that
it doesn't report that all allocations are coming from utils.h. Also, add some more information to the error message astmm reports when a memory allocation failure occurs. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@13513 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
4
astmm.c
4
astmm.c
@@ -108,9 +108,9 @@ static inline void *__ast_alloc_region(size_t size, const enum func_type which,
|
|||||||
}
|
}
|
||||||
ast_mutex_unlock(®lock);
|
ast_mutex_unlock(®lock);
|
||||||
if (!reg) {
|
if (!reg) {
|
||||||
fprintf(stderr, "Memory allocation failure\n");
|
fprintf(stderr, "Memory Allocation Failure - '%d' bytes in function %s at line %d of %s\n", (int) size, func, lineno, file);
|
||||||
if (mmlog) {
|
if (mmlog) {
|
||||||
fprintf(mmlog, "%ld - Memory allocation failure\n", time(NULL));
|
fprintf(stderr, "%ld - Memory Allocation Failure - '%d' bytes in function %s at line %d of %s\n", time(NULL), (int) size, func, lineno, file);
|
||||||
fflush(mmlog);
|
fflush(mmlog);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -246,6 +246,8 @@ int getloadavg(double *list, int nelem);
|
|||||||
long int ast_random(void);
|
long int ast_random(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __AST_DEBUG_MALLOC
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief A wrapper for malloc()
|
\brief A wrapper for malloc()
|
||||||
|
|
||||||
@@ -383,6 +385,19 @@ char *_ast_strndup(const char *str, size_t len, const char *file, int lineno, co
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/* If astmm is in use, let it handle these. Otherwise, it will report that
|
||||||
|
all allocations are coming from this header file */
|
||||||
|
|
||||||
|
#define ast_malloc(a) malloc(a)
|
||||||
|
#define ast_calloc(a,b) calloc(a,b)
|
||||||
|
#define ast_realloc(a,b) realloc(a,b)
|
||||||
|
#define ast_strdup(a) strdup(a)
|
||||||
|
#define ast_strndup(a,b) strndup(a,b)
|
||||||
|
|
||||||
|
#endif /* AST_DEBUG_MALLOC */
|
||||||
|
|
||||||
#if !defined(ast_strdupa) && defined(__GNUC__)
|
#if !defined(ast_strdupa) && defined(__GNUC__)
|
||||||
/*!
|
/*!
|
||||||
\brief duplicate a string in memory from the stack
|
\brief duplicate a string in memory from the stack
|
||||||
|
Reference in New Issue
Block a user