From 68d23225a38a35f1325eb39fa4ed5a005d5de473 Mon Sep 17 00:00:00 2001
From: fujuntang <fujuntang@aiot.com>
Date: 星期三, 11 八月 2021 09:50:20 +0800
Subject: [PATCH] fix from 3.1 first commit

---
 src/shm/hashtable.cpp |   31 +++++++++++++++++++------------
 1 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/src/shm/hashtable.cpp b/src/shm/hashtable.cpp
old mode 100755
new mode 100644
index e435172..a223c0c
--- a/src/shm/hashtable.cpp
+++ b/src/shm/hashtable.cpp
@@ -138,13 +138,32 @@
 }
 
 void *hashtable_get(hashtable_t *hashtable, int key) {
+  int rv;
+
+  if((rv = svsem_wait(hashtable->mutex)) != 0) {
+    LoggerFactory::getLogger()->error(errno, "hashtable_get\n");
+  }
   void * res = _hashtable_get(hashtable, key);
+
+  if((rv = svsem_post(hashtable->mutex)) != 0) {
+    LoggerFactory::getLogger()->error(errno, "hashtable_get\n");
+  }
   return res;
 }
 
 void hashtable_put(hashtable_t *hashtable, int key, void *value) {
+  int rv;
+
+  if((rv = svsem_wait(hashtable->mutex)) != 0) {
+    LoggerFactory::getLogger()->error(errno, "hashtable_put\n");
+  }
   _hashtable_put(hashtable, key, value); 
   hashtable->queueCount++;
+
+  if((rv = svsem_post(hashtable->mutex)) != 0) {
+    LoggerFactory::getLogger()->error(errno, "hashtable_put\n");
+  }
+
 }
 
 bool hashtable_check_put(hashtable_t *hashtable, int key, void *value, bool overwrite) {
@@ -249,17 +268,6 @@
   return keyset;
 }
 
-
-
-int hashtable_lock(hashtable_t *hashtable) {
-  return svsem_wait(hashtable->mutex);
-}
-
-int hashtable_unlock(hashtable_t *hashtable) {
-  return svsem_post(hashtable->mutex);
-}
-
-
 void hashtable_removeall(hashtable_t *hashtable)
 {
   tailq_entry_t *item;
@@ -294,7 +302,6 @@
 {
 
   return key % MAPSIZE;
-  /*printf("hashfun = %ld\n", code);*/
 }
 
 /**

--
Gitblit v1.8.0