From 8d752141ce7b081ce14dac6366510ba437a76380 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 21 Jun 2015 12:29:20 +1000 Subject: Support for platforms /wo malloc_usable_size Was only used for stats, netbsd doesn't define this function. --- intern/guardedalloc/intern/mallocn_guarded_impl.c | 2 ++ intern/guardedalloc/intern/mallocn_intern.h | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'intern') diff --git a/intern/guardedalloc/intern/mallocn_guarded_impl.c b/intern/guardedalloc/intern/mallocn_guarded_impl.c index 88d6f35d438..1933e9d3ee3 100644 --- a/intern/guardedalloc/intern/mallocn_guarded_impl.c +++ b/intern/guardedalloc/intern/mallocn_guarded_impl.c @@ -711,10 +711,12 @@ void MEM_guarded_printmemlist_stats(void) totpb++; pb++; +#ifdef USE_MALLOC_USABLE_SIZE if (!membl->mmap && membl->alignment == 0) { mem_in_use_slop += (sizeof(MemHead) + sizeof(MemTail) + malloc_usable_size((void *)membl)) - membl->len; } +#endif if (membl->next) membl = MEMNEXT(membl->next); diff --git a/intern/guardedalloc/intern/mallocn_intern.h b/intern/guardedalloc/intern/mallocn_intern.h index 6cab1f01b70..3f7e462c1c7 100644 --- a/intern/guardedalloc/intern/mallocn_intern.h +++ b/intern/guardedalloc/intern/mallocn_intern.h @@ -50,6 +50,7 @@ #endif #undef HAVE_MALLOC_STATS +#define USE_MALLOC_USABLE_SIZE /* internal, when we have malloc_usable_size() */ #if defined(__linux__) || (defined(__FreeBSD_kernel__) && !defined(__FreeBSD__)) || defined(__GLIBC__) # include @@ -63,7 +64,8 @@ # include # define malloc_usable_size _msize #else -# error "We don't know how to use malloc_usable_size on your platform" +# pragma message "We don't know how to use malloc_usable_size on your platform" +# undef USE_MALLOC_USABLE_SIZE #endif /* Blame Microsoft for LLP64 and no inttypes.h, quick workaround needed: */ -- cgit v1.2.3