From cdcc0356202a00cdca21c989b71fe7376d81a895 Mon Sep 17 00:00:00 2001 From: markster Date: Mon, 28 Apr 2003 19:58:43 +0000 Subject: 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 --- include/asterisk/astmm.h | 64 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100755 include/asterisk/astmm.h (limited to 'include') 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 + * + * 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 +#include +#include + +/* 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 -- cgit v1.2.3