From 056f71f24cefaf88f2a93714c6678c03ed5f1e0e Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期五, 02 七月 2021 16:54:33 +0800
Subject: [PATCH] fixed to adapt gcc-5.4 & glibc-2.25
---
utest/robust_test.cpp | 68 +---------------------------------
1 files changed, 2 insertions(+), 66 deletions(-)
diff --git a/utest/robust_test.cpp b/utest/robust_test.cpp
index 3270481..23dc058 100644
--- a/utest/robust_test.cpp
+++ b/utest/robust_test.cpp
@@ -68,26 +68,14 @@
std::atomic<uint64_t> nwrite(0);
std::atomic<uint64_t> writedone(0);
-#if 1
- const int kPower = 0;
- typedef AtomicQueue<kPower> Rcb;
+ typedef AtomicQ63 Rcb;
Rcb tmp;
- // BOOST_CHECK(tmp.like_empty());
BOOST_CHECK(tmp.push(1));
- if (kPower != 0) {
- BOOST_CHECK(tmp.tail() == 1);
- }
- BOOST_CHECK(tmp.head() == 0);
int64_t d;
BOOST_CHECK(tmp.pop(d));
- if (kPower != 0) {
- // BOOST_CHECK(tmp.like_empty());
- BOOST_CHECK(tmp.head() == 1);
- BOOST_CHECK(tmp.tail() == 1);
- }
- ShmObject<Rcb> rcb(shm, "test_rcb");
+ NamedShmObject<Rcb> rcb(shm, "test_rcb", eOpenOrCreate);
bool try_more = true;
auto Writer = [&]() {
@@ -111,58 +99,6 @@
}
}
};
-
-#else
- typedef Circular<int64_t> Rcb;
- ShmObject<Rcb> rcb(shm, "test_rcb", 16, shm.get_segment_manager());
-
- typedef FMutex Mutex;
- // typedef SemMutex Mutex;
- Mutex mtx(123);
- auto Writer = [&]() {
- uint64_t n = 0;
- while ((n = nwrite++) < nmsg) {
- auto Write = [&]() {
- robust::Guard<Mutex> lk(mtx);
- if (rcb->full()) {
- return false;
- } else {
- rcb->push_back(n);
- return true;
- }
- // return rcb->push_back(n);
- };
- while (!Write()) {
- // MySleep();
- }
- ++writedone;
- }
- };
- std::atomic<uint64_t> nread(0);
- auto Reader = [&]() {
- while (nread.load() < nmsg) {
- int64_t d;
- auto Read = [&]() {
- robust::Guard<Mutex> lk(mtx);
- if (rcb->empty()) {
- return false;
- } else {
- d = rcb->front();
- rcb->pop_front();
- return true;
- }
- // return rcb->pop_front(d);
- };
- if (Read()) {
- ++nread;
- total += d;
- } else {
- // MySleep();
- }
- }
- };
-
-#endif
auto status = [&]() {
auto next = steady_clock::now();
--
Gitblit v1.8.0