From acbf282b23b4cbdebca562d67132573de3902f94 Mon Sep 17 00:00:00 2001
From: Fu Juntang <StrongTiger_001@163.com>
Date: 星期五, 17 九月 2021 10:45:43 +0800
Subject: [PATCH] Merge branch 'master' of http://os.smartai.com:9091/valib/c_bhomebus
---
src/shm/hashtable.cpp | 33 ++++++++++++++++++++-------------
1 files changed, 20 insertions(+), 13 deletions(-)
diff --git a/src/shm/hashtable.cpp b/src/shm/hashtable.cpp
index e435172..c4a81fc 100755
--- 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);*/
}
/**
@@ -317,4 +324,4 @@
}
printf("\n");
}
-}
\ No newline at end of file
+}
--
Gitblit v1.8.0