From 00dba6082e245d917cb7d6eed3c627211ff41cd7 Mon Sep 17 00:00:00 2001 From: wangzhengquan <wangzhengquan85@126.com> Date: 星期五, 25 九月 2020 15:53:21 +0800 Subject: [PATCH] update --- src/queue/include/mem_pool.h | 41 ++++++++++++++++++++++++----------------- 1 files changed, 24 insertions(+), 17 deletions(-) diff --git a/src/queue/include/mem_pool.h b/src/queue/include/mem_pool.h index d5a4110..2ea1f6b 100644 --- a/src/queue/include/mem_pool.h +++ b/src/queue/include/mem_pool.h @@ -34,21 +34,6 @@ return ptr; } -template <typename T> -static inline T* mem_pool_attach(int key) { - void *ptr; - // T* tptr; - hashtable_t *hashtable = mm_get_hashtable(); - ptr = hashtable_get(hashtable, key); -printf("mem_pool_malloc_by_key malloc before %d, %p\n", key, ptr); - if(ptr == NULL || ptr == (void *)1 ) { - ptr = mm_malloc(sizeof(T)); - hashtable_put(hashtable, key, ptr); - new(ptr) T; -printf("mem_pool_malloc_by_key use new %d, %p\n", key, ptr); - } - return (T*)ptr; -} static inline void mem_pool_free (void *ptr) { mm_free(ptr); @@ -57,13 +42,35 @@ } + +template <typename T> +static inline T* mem_pool_attach(int key) { + void *ptr; + // T* tptr; + hashtable_t *hashtable = mm_get_hashtable(); + ptr = hashtable_get(hashtable, key); +// printf("mem_pool_malloc_by_key malloc before %d, %p\n", key, ptr); + if(ptr == NULL || ptr == (void *)1 ) { + ptr = mm_malloc(sizeof(T)); + hashtable_put(hashtable, key, ptr); + new(ptr) T; +// printf("mem_pool_malloc_by_key use new %d, %p\n", key, ptr); + } + return (T*)ptr; +} + +static inline void mem_pool_free_by_key(int key) { + return mm_free_by_key(key); +} + + static inline void *mem_pool_realloc (void *ptr, size_t size) { return mm_realloc(ptr, size); } static inline int mem_pool_alloc_key() { - hashtable_t *hashtable = mm_get_hashtable(); - return hashtable_alloc_key(hashtable); + + return mm_alloc_key(); } -- Gitblit v1.8.0