From 509cf5db80c1d8919e19e1e061f2014e1ff3caf7 Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期三, 05 八月 2020 19:44:03 +0800
Subject: [PATCH] udpate

---
 src/queue/include/shm_queue.h |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/src/queue/include/shm_queue.h b/src/queue/include/shm_queue.h
index 197adc5..ca5036f 100644
--- a/src/queue/include/shm_queue.h
+++ b/src/queue/include/shm_queue.h
@@ -40,6 +40,7 @@
 
   static void remove_queues_exclude(int keys[], size_t length);
   static void remove_queues_include(int keys[], size_t length);
+  static void remove_queue(int key);
 
 private:
 protected:
@@ -68,6 +69,7 @@
       }
     }
     if (!found) {
+      // 閿�姣佸叡浜唴瀛樼殑queue
       mqueue = (LockFreeQueue<ELEM_T, SHM_Allocator> *)hashtable_get(hashtable, *keyItr);
       delete mqueue;
       hashtable_remove(hashtable, *keyItr);
@@ -77,11 +79,13 @@
 }
 
 
+
 template <typename ELEM_T>
 void SHMQueue<ELEM_T>::remove_queues_include(int keys[], size_t length) {
   hashtable_t *hashtable = mm_get_hashtable();
   LockFreeQueue<ELEM_T, SHM_Allocator> *mqueue;
   for(int i = 0; i< length; i++) {
+    // 閿�姣佸叡浜唴瀛樼殑queue
     mqueue = (LockFreeQueue<ELEM_T, SHM_Allocator> *)mm_get_by_key(keys[i]);
     delete mqueue;
     hashtable_remove(hashtable, keys[i]);
@@ -89,6 +93,12 @@
 }
 
 template <typename ELEM_T>
+void SHMQueue<ELEM_T>::remove_queue(int key) {
+  int keys[] = {key};
+  remove_queues_include(keys, 1);
+}
+
+template <typename ELEM_T>
 SHMQueue<ELEM_T>::SHMQueue(int key, size_t qsize) : KEY(key) {
 
   hashtable_t *hashtable = mm_get_hashtable();

--
Gitblit v1.8.0