From a6f67b4249525089fb97eb9418c7014f66c2a000 Mon Sep 17 00:00:00 2001 From: lichao <lichao@aiotlink.com> Date: 星期三, 28 四月 2021 19:29:17 +0800 Subject: [PATCH] use new robust mutex, circurar; rm timeout mutex. --- src/shm.cpp | 36 ------------------------------------ 1 files changed, 0 insertions(+), 36 deletions(-) diff --git a/src/shm.cpp b/src/shm.cpp index 6d7dccd..1658900 100644 --- a/src/shm.cpp +++ b/src/shm.cpp @@ -21,42 +21,6 @@ namespace bhome_shm { -bool MutexWithTimeLimit::try_lock() -{ - if (mutex_.try_lock()) { - auto old_time = last_lock_time_.load(); - if (Now() - old_time > limit_) { - return last_lock_time_.compare_exchange_strong(old_time, Now()); - } else { - last_lock_time_.store(Now()); - return true; - } - } else { - auto old_time = last_lock_time_.load(); - if (Now() - old_time > limit_) { - return last_lock_time_.compare_exchange_strong(old_time, Now()); - } else { - return false; - } - } -} -void MutexWithTimeLimit::lock() -{ - while (!try_lock()) { - std::this_thread::yield(); - } -} -void MutexWithTimeLimit::unlock() -{ - auto old_time = last_lock_time_.load(); - if (Now() - old_time > limit_) { - } else { - if (last_lock_time_.compare_exchange_strong(old_time, Now())) { - mutex_.unlock(); - } - } -} - SharedMemory::SharedMemory(const std::string &name, const uint64_t size) : mshm_t(open_or_create, name.c_str(), size, 0, AllowAll()), name_(name) -- Gitblit v1.8.0