From b386f0c5d35994a54e95d5fe1c4bcbfd1cdea59c Mon Sep 17 00:00:00 2001
From: Fu Juntang <StrongTiger_001@163.com>
Date: 星期五, 03 九月 2021 17:43:11 +0800
Subject: [PATCH] Supplementary for the fix of the lock removal.

---
 src/shm/hashtable.h |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/shm/hashtable.h b/src/shm/hashtable.h
index 47b715b..7bb6eac 100755
--- a/src/shm/hashtable.h
+++ b/src/shm/hashtable.h
@@ -5,15 +5,22 @@
 #include <functional>
 #include <set>
 
-#define MAPSIZE 1024
+#define MAPSIZE 4096
+
+// 鍒涘缓Queue鏁伴噺鐨勪笂闄�
+#define QUEUE_COUNT_LIMIT 300
 
 typedef struct hashtable_t
 {
  struct tailq_header_t* array[MAPSIZE];
  int mutex;
+ int queueCount;
+ int currentKey; // 褰撳墠鍒嗛厤鐨刱ey
  // int wlock;
  // int cond;
  // size_t readcnt;
+
+ 
 
 } hashtable_t;
 typedef void (*hashtable_foreach_cb)(int key, void *value);
@@ -26,13 +33,11 @@
 
 void *hashtable_remove(hashtable_t *hashtable, int key);
 void hashtable_removeall(hashtable_t *hashtable);
-
-int hashtable_lock(hashtable_t *hashtable);
-int hashtable_unlock(hashtable_t *hashtable);
+int hashtable_get_queue_count(hashtable_t *hashtable) ;
 /** 
  * 閬嶅巻hash_table
  * @demo 
- * hashtable_foreach(&hashtable, [&](int key, void * value){
+ * hashtable_foreach(hashtable, [&](int key, void * value){
  *	printf("%d, %p\n", key, value);
  * });
  * 

--
Gitblit v1.8.0