From b984dac55bdd0a5b694837fb8fb2ceb07ce9808f Mon Sep 17 00:00:00 2001 From: fujuntang <fujuntang@smartai.com> Date: 星期二, 07 九月 2021 11:25:57 +0800 Subject: [PATCH] resize the buf allocation to dynamic buf. --- 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