From f42ddf22907c681d8b08eeceef160d4566dba437 Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期二, 07 七月 2020 18:05:06 +0800
Subject: [PATCH] update

---
 squeue/include/array_lock_free_queue.h |   20 ++++++--------------
 1 files changed, 6 insertions(+), 14 deletions(-)

diff --git a/squeue/include/array_lock_free_queue.h b/squeue/include/array_lock_free_queue.h
index 8bcf579..9a345e2 100644
--- a/squeue/include/array_lock_free_queue.h
+++ b/squeue/include/array_lock_free_queue.h
@@ -1,9 +1,9 @@
-#ifndef __LOCK_FREE_QUEUE_IMPL_MULTIPLE_PRODUCER_H__
-#define __LOCK_FREE_QUEUE_IMPL_MULTIPLE_PRODUCER_H__
+#ifndef __ARRAY_LOCK_FREE_QUEUE_IMPL_MULTIPLE_PRODUCER_H__
+#define __ARRAY_LOCK_FREE_QUEUE_IMPL_MULTIPLE_PRODUCER_H__
 
 #include <assert.h> // assert()
 #include <sched.h>  // sched_yield()
-
+#include "logger_factory.h"
 
 /// @brief implementation of an array based lock free queue with support for 
 ///        multiple producers
@@ -65,18 +65,14 @@
     /// @brief number of elements in the queue
     std::atomic<uint32_t> m_count;
 #endif
-    static int m_reference;
-
+   
+    
 private:
     /// @brief disable copy constructor declaring it private
     ArrayLockFreeQueue<ELEM_T>(const ArrayLockFreeQueue<ELEM_T> &a_src);
 
-
 };
 
-
-template <typename ELEM_T>
-int ArrayLockFreeQueue<ELEM_T>::m_reference = 0;
 
 template <typename ELEM_T>
 ArrayLockFreeQueue<ELEM_T>::ArrayLockFreeQueue(size_t qsize):
@@ -89,7 +85,6 @@
 #endif
 {
     m_theQueue = (ELEM_T*)mm_malloc(Q_SIZE * sizeof(ELEM_T));
-    m_reference++;
 
 }
 
@@ -97,10 +92,7 @@
 ArrayLockFreeQueue<ELEM_T>::~ArrayLockFreeQueue()
 {
     std::cout << "destroy ArrayLockFreeQueue\n";
-    m_reference--;
-    if(m_reference == 0) {
-       mm_free(m_theQueue);
-    }
+    mm_free(m_theQueue);
     
 }
 

--
Gitblit v1.8.0