diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2003-04-28 19:58:43 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2003-04-28 19:58:43 +0000 |
commit | cdcc0356202a00cdca21c989b71fe7376d81a895 (patch) | |
tree | 231c2b4a80176683c909285164d9ec0c8e8d58e5 /include | |
parent | 17d587b621e47b46e4a4d92ce2b3709e5255f3f4 (diff) |
Fix pbx_wilcalu from occupying 100% CPU now that it's nonblocking, and add malloc debug
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@927 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include')
-rwxr-xr-x | include/asterisk/astmm.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/include/asterisk/astmm.h b/include/asterisk/astmm.h new file mode 100755 index 000000000..83f786121 --- /dev/null +++ b/include/asterisk/astmm.h @@ -0,0 +1,64 @@ +/* + * Asterisk -- A telephony toolkit for Linux. + * + * Asterisk debugging + * + * Copyright (C) 2002, Mark Spencer + * + * Mark Spencer <markster@linux-support.net> + * + * This program is free software, distributed under the terms of + * the GNU General Public License + */ + +#ifndef NO_AST_MM +#ifndef _ASTMM_H +#define _ASTMM_H + +#define __AST_DEBUG_MALLOC + +/* Include these now to prevent them from being needed later */ +#include <sys/types.h> +#include <stdlib.h> +#include <string.h> + +/* Undefine any macros */ +#undef malloc +#undef calloc +#undef realloc +#undef strdup +#undef strndup + +void *__ast_calloc(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); +char *__ast_strdup(const char *s, const char *file, int lineno, const char *func); +char *__ast_strndup(const char *s, size_t n, const char *file, int lineno, const char *func); + +void __ast_mm_init(void); + + +/* Provide our own definitions */ +#define calloc(a,b) \ + __ast_calloc(a,b,__FILE__, __LINE__, __PRETTY_FUNCTION__) + +#define malloc(a) \ + __ast_malloc(a,__FILE__, __LINE__, __PRETTY_FUNCTION__) + +#define free(a) \ + __ast_free(a,__FILE__, __LINE__, __PRETTY_FUNCTION__) + +#define realloc(a,b) \ + __ast_realloc(a,b,__FILE__, __LINE__, __PRETTY_FUNCTION__) + +#define strdup(a) \ + __ast_strdup(a,__FILE__, __LINE__, __PRETTY_FUNCTION__) + +#define strndup(a,b) \ + __ast_strndup(a,b,__FILE__, __LINE__, __PRETTY_FUNCTION__) + +#else +#error "NEVER INCLUDE astmm.h DIRECTLY!!" +#endif +#endif |