From f85c9b875b060681b51f57b15074ba1c7c9f5636 Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期一, 20 七月 2020 11:10:02 +0800
Subject: [PATCH] update

---
 queue/include/shm_queue.h |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/queue/include/shm_queue.h b/queue/include/shm_queue.h
index 3a506c9..97eaa9e 100644
--- a/queue/include/shm_queue.h
+++ b/queue/include/shm_queue.h
@@ -6,6 +6,7 @@
 #include "hashtable.h"
 #include "lock_free_queue.h"
 #include "logger_factory.h"
+#include "shm_allocator.h"
 
 // default Queue size
 // #define LOCK_FREE_Q_DEFAULT_SIZE 16
@@ -46,7 +47,7 @@
 protected:
     /// @brief the actual queue-> methods are forwarded into the real 
     ///        implementation
-    LockFreeQueue<ELEM_T>* queue;
+    LockFreeQueue<ELEM_T, SHM_Allocator>* queue;
 
 private:
     /// @brief disable copy constructor declaring it private
@@ -60,18 +61,18 @@
     hashtable_t *hashtable = mm_get_hashtable();
     std::set<int>* keyset = hashtable_keyset(hashtable);
     std::set<int>::iterator keyItr;
-     LockFreeQueue<ELEM_T>* mqueue;
+     LockFreeQueue<ELEM_T, SHM_Allocator>* mqueue;
     bool found;
     for (keyItr = keyset->begin(); keyItr != keyset->end(); keyItr++) {
         found = false;
-        for(int i = 0; i < length; i++) {
+        for(size_t i = 0; i < length; i++) {
             if(*keyItr == keys[i]) {
                 found = true;
                 break;
             }
         }
         if(!found) {
-           mqueue = (LockFreeQueue<ELEM_T> *)hashtable_get(hashtable, *keyItr);
+           mqueue = (LockFreeQueue<ELEM_T, SHM_Allocator> *)hashtable_get(hashtable, *keyItr);
            delete mqueue;
         }
     }
@@ -84,10 +85,10 @@
 {
 
     hashtable_t *hashtable = mm_get_hashtable();
-    queue = (LockFreeQueue<ELEM_T> *)hashtable_get(hashtable, key);
+    queue = (LockFreeQueue<ELEM_T, SHM_Allocator> *)hashtable_get(hashtable, key);
     //LockFreeQueue<int, 10000> q;
     if (queue == NULL || (void *)queue == (void *)1) {
-        queue = new LockFreeQueue<ELEM_T>(qsize);
+        queue = new LockFreeQueue<ELEM_T, SHM_Allocator>(qsize);
         hashtable_put(hashtable,  key, (void *)queue);
     }
     queue->reference++;

--
Gitblit v1.8.0