From 68c7bef33e74f23aa0136ccd6f7faa654d671ebc Mon Sep 17 00:00:00 2001
From: lichao <lichao@aiotlink.com>
Date: 星期五, 21 五月 2021 09:23:01 +0800
Subject: [PATCH] center publish notify; fix topic partial match.

---
 src/shm_queue.h |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/src/shm_queue.h b/src/shm_queue.h
index 5fd14e3..3a2cea6 100644
--- a/src/shm_queue.h
+++ b/src/shm_queue.h
@@ -30,7 +30,6 @@
 
 template <class D>
 using Circular = boost::circular_buffer<D, Allocator<D>>;
-// using Circular = robust::CircularBuffer<D, Allocator<D>>;
 
 template <class D>
 class SharedQueue
@@ -47,7 +46,7 @@
 			if (TryRead(d)) {
 				return true;
 			} else {
-				robust::QuickSleep();
+				std::this_thread::sleep_for(1ms);
 			}
 		} while (steady_clock::now() < end_time);
 		return false;
@@ -76,7 +75,6 @@
 
 private:
 	Circular<D> queue_;
-	bhome_shm::Mutex mutex_;
 };
 
 template <int Power = 4>
@@ -92,11 +90,12 @@
 		using namespace std::chrono;
 		auto end_time = steady_clock::now() + milliseconds(timeout_ms);
 		do {
-			if (TryRead(d)) {
-				return true;
-			} else {
-				robust::QuickSleep();
+			for (int i = 0; i < 100; ++i) {
+				if (TryRead(d)) {
+					return true;
+				}
 			}
+			std::this_thread::sleep_for(1ms);
 		} while (steady_clock::now() < end_time);
 		return false;
 	}

--
Gitblit v1.8.0