From 01e202b60cc8aceb65fd6c82949e2a2b08142f8c Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期一, 18 一月 2021 10:44:50 +0800
Subject: [PATCH] ADD EBUS_NET

---
 src/queue/lock_free_queue.h |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/queue/lock_free_queue.h b/src/queue/lock_free_queue.h
index 70b8ef1..924537f 100644
--- a/src/queue/lock_free_queue.h
+++ b/src/queue/lock_free_queue.h
@@ -1,3 +1,6 @@
+/**
+ * encapsulate array_lock_free_queue, add semphore. populate in kernal space.
+ */
 #ifndef __LOCK_FREE_QUEUE_H__
 #define __LOCK_FREE_QUEUE_H__
 
@@ -300,7 +303,7 @@
 int LockFreeQueue<ELEM_T, Allocator, Q_TYPE>::pop(ELEM_T &a_data)
 {
 
-// LoggerFactory::getLogger()->debug("==================LockFreeQueue pop before\n");
+ // LoggerFactory::getLogger()->debug("==================LockFreeQueue pop before\n");
     if (sem_wait(&items) == -1) {
         LoggerFactory::getLogger()->error(errno, "LockFreeQueue pop");
         return errno;
@@ -343,19 +346,20 @@
     template <typename T, typename AT> class Q_TYPE>
 int LockFreeQueue<ELEM_T, Allocator, Q_TYPE>::pop_timeout(ELEM_T &a_data, struct timespec * ts)
 {
-// LoggerFactory::getLogger()->debug("=================ts sec = %d, nsec = %ld \n", ts->tv_sec,  ts->tv_nsec );
 
-    // struct timespec timeout_tmp = {1, 0};
+    // LoggerFactory::getLogger()->debug("==================LockFreeQueue pop_timeout before\n");   
     struct timespec timeout = PXSemUtil::calc_sem_timeout(ts);
-// LoggerFactory::getLogger()->debug("================== timeout before sec = %d, nsec = %ld \n", timeout.tv_sec,  timeout.tv_nsec );
 
     while (sem_timedwait(&items, &timeout) == -1) {
-        if (errno == ETIMEDOUT)
+        // LoggerFactory::getLogger()->error(errno, "1 LockFreeQueue pop_timeout %d %d", errno, ETIMEDOUT);
+        if (errno == ETIMEDOUT) {
+             // LoggerFactory::getLogger()->error(errno, "2 LockFreeQueue pop_timeout %d %d", errno, EBUS_TIMEOUT);
             return EBUS_TIMEOUT;
+        }
         else if(errno == EINTR)
             continue;
         else {
-          LoggerFactory::getLogger()->error(errno, "LockFreeQueue pop_timeout %d", errno);
+          LoggerFactory::getLogger()->error(errno, "3  LockFreeQueue pop_timeout %d", errno);
           return errno;
         }
     }

--
Gitblit v1.8.0