From c0d61292ef6bdd8e2e93525b5df6a8ec5c017c32 Mon Sep 17 00:00:00 2001 From: lichao <lichao@aiotlink.com> Date: 星期五, 14 五月 2021 14:09:27 +0800 Subject: [PATCH] change refcount, avoid ShmMsgQueue AddRef on send. --- src/sendq.cpp | 22 ++-------------------- 1 files changed, 2 insertions(+), 20 deletions(-) diff --git a/src/sendq.cpp b/src/sendq.cpp index 36af264..94e315e 100644 --- a/src/sendq.cpp +++ b/src/sendq.cpp @@ -40,26 +40,8 @@ } auto SendData = [&](Data &d) { - auto TryLoop = [&](auto &&data) { - for (int i = 0; i < 1; ++i) { - if (mq.TrySend(remote, data)) { - return true; - } - } - return false; - }; - bool r = false; - if (d.index() == 0) { - auto &msg = boost::variant2::get<0>(pos->data().data_); - r = TryLoop(msg); - if (r) { - msg.Release(); - } - } else { - auto command = boost::variant2::get<1>(pos->data().data_); - r = TryLoop(command); - } - return r; + auto TrySend = [&](auto &&data) { return mq.TrySend(remote, data); }; + return boost::variant2::visit(TrySend, pos->data().data_); }; while (pos != arr.end() && SendData(pos->data().data_)) { -- Gitblit v1.8.0