From 82841486c36288d73e95f3316e91dd7a522d8602 Mon Sep 17 00:00:00 2001 From: wangzhengquan <wangzhengquan85@126.com> Date: 星期一, 08 二月 2021 09:39:57 +0800 Subject: [PATCH] update --- src/queue/lock_free_queue.h | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/queue/lock_free_queue.h b/src/queue/lock_free_queue.h index 6554b9a..354c6a4 100644 --- a/src/queue/lock_free_queue.h +++ b/src/queue/lock_free_queue.h @@ -13,6 +13,7 @@ #include "psem.h" #include "bus_error.h" #include "bus_def.h" +#include "read_write_lock.h" // default Queue size #define LOCK_FREE_Q_DEFAULT_SIZE 16 @@ -85,6 +86,7 @@ public: sem_t mutex; + LockFreeQueue(size_t qsize = LOCK_FREE_Q_DEFAULT_SIZE); @@ -269,13 +271,13 @@ } } - if (m_qImpl.pop(a_data)) { psem_post(&slots); // sigprocmask(SIG_SETMASK, &pre, NULL); // LoggerFactory::getLogger()->debug("==================LockFreeQueue pop after\n"); return 0; } + LABEL_FAILTURE: // sigprocmask(SIG_SETMASK, &pre, NULL); @@ -301,7 +303,8 @@ typename Allocator, template<typename T, typename AT> class Q_TYPE> void LockFreeQueue<ELEM_T, Allocator, Q_TYPE>::operator delete(void *p) { - return Allocator::deallocate(p); + LockFreeQueue<ELEM_T, Allocator, Q_TYPE> * _que = (LockFreeQueue<ELEM_T, Allocator, Q_TYPE> * )p; + Allocator::deallocate(p); } // include implementation files -- Gitblit v1.8.0