From aeaeda81cfe398081a7c1a5c287981c8df974aa2 Mon Sep 17 00:00:00 2001 From: wangzhengquan <wangzhengquan85@126.com> Date: 星期一, 27 七月 2020 19:03:38 +0800 Subject: [PATCH] commit --- src/queue/include/mem_pool.h | 15 +++++++++++++-- 1 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/queue/include/mem_pool.h b/src/queue/include/mem_pool.h index d5a4110..72ad5b7 100644 --- a/src/queue/include/mem_pool.h +++ b/src/queue/include/mem_pool.h @@ -40,16 +40,27 @@ // 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); +// 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); +// 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) { + void *ptr; + // T* tptr; + hashtable_t *hashtable = mm_get_hashtable(); + ptr = hashtable_get(hashtable, key); + if(ptr != NULL) { + mm_free(ptr); + hashtable_remove(hashtable, key); + } +} + static inline void mem_pool_free (void *ptr) { mm_free(ptr); // notify malloc -- Gitblit v1.8.0