diff --git a/net/lwip/src/core/memp.c b/net/lwip/src/core/memp.c index dbbdc54443..9b907e284d 100644 --- a/net/lwip/src/core/memp.c +++ b/net/lwip/src/core/memp.c @@ -125,6 +125,14 @@ const u16_t memp_sizes[MEMP_MAX] = { #define LWIP_MEMPOOL(name,num,size,desc) LWIP_MEM_ALIGN_SIZE(size), #include "lwip/memp_std.h" }; + +/** This array holds a textual description of each pool. */ +#ifdef LWIP_DEBUG +static const char *memp_desc[MEMP_MAX] = { +#define LWIP_MEMPOOL(name,num,size,desc) (desc), +#include "lwip/memp_std.h" +}; +#endif /* LWIP_DEBUG */ #if !MEMP_MEM_MALLOC /* don't build if not configured for use in lwipopts.h */ @@ -134,14 +142,6 @@ static const u16_t memp_num[MEMP_MAX] = { #include "lwip/memp_std.h" }; -/** This array holds a textual description of each pool. */ -#ifdef LWIP_DEBUG -static const char *memp_desc[MEMP_MAX] = { -#define LWIP_MEMPOOL(name,num,size,desc) (desc), -#include "lwip/memp_std.h" -}; -#endif /* LWIP_DEBUG */ - /** This is the actual memory used by the pools. */ static u8_t memp_memory[MEM_ALIGNMENT - 1 #define LWIP_MEMPOOL(name,num,size,desc) + ( (num) * (MEMP_SIZE + MEMP_ALIGN_SIZE(size) ) ) @@ -347,8 +347,8 @@ memp_malloc_fn(memp_t type, const char* file, const int line) #else void* ptr; rt_uint32_t size; - SYS_ARCH_DECL_PROTECT(old_level); - + SYS_ARCH_DECL_PROTECT(old_level); + size = memp_sizes[type]; LWIP_DEBUGF(MEMP_DEBUG, ("memp malloc %s, size %d, ", memp_desc[type], memp_sizes[type])); @@ -366,8 +366,8 @@ memp_malloc_fn(memp_t type, const char* file, const int line) tcp_pcbs ++; } } - SYS_ARCH_UNPROTECT(old_level); - + SYS_ARCH_UNPROTECT(old_level); + ptr = mem_malloc(size); LWIP_DEBUGF(MEMP_DEBUG, ("mem 0x%x\n", ptr)); @@ -416,18 +416,18 @@ memp_free(memp_t type, void *mem) SYS_ARCH_UNPROTECT(old_level); #else - SYS_ARCH_DECL_PROTECT(old_level); - + SYS_ARCH_DECL_PROTECT(old_level); + SYS_ARCH_PROTECT(old_level); if (type == MEMP_TCP_PCB && mem) { tcp_pcbs --; } - SYS_ARCH_UNPROTECT(old_level); - + SYS_ARCH_UNPROTECT(old_level); + LWIP_DEBUGF(MEMP_DEBUG, ("memp free %s, mem 0x%x\n", memp_desc[type], mem)); /* release this memory */ mem_free(mem); #endif /* MEMP_MEM_MALLOC */ -} - +} +