From 4f3f598e6f3705936e09a0508b1e1bbbbbe683b3 Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期一, 20 七月 2020 17:46:40 +0800 Subject: [PATCH] change makefile --- queue/include/shm_queue.h | 17 +++++++++-------- 1 files changed, 9 insertions(+), 8 deletions(-) diff --git a/queue/include/shm_queue.h b/queue/include/shm_queue.h index 3a506c9..394545b 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 @@ -39,14 +40,14 @@ inline ELEM_T& operator[](unsigned i); - static void remove_queues_exclue(int *keys, size_t length); + static void remove_queues_exclude(int *keys, size_t length); private: 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 @@ -55,23 +56,23 @@ template < typename ELEM_T > -void SHMQueue<ELEM_T>::remove_queues_exclue(int *keys, size_t length) +void SHMQueue<ELEM_T>::remove_queues_exclude(int *keys, size_t length) { 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