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