From 27b865475773c42902a443810feace8bcb31391c Mon Sep 17 00:00:00 2001 From: Nicolas Pope <nwpope@utu.fi> Date: Wed, 29 Jan 2020 15:49:28 +0200 Subject: [PATCH] Fix locks for mutex debug mode --- components/codecs/src/reader.cpp | 5 ++++- components/streams/src/filestream.cpp | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/components/codecs/src/reader.cpp b/components/codecs/src/reader.cpp index 00df80e3c..2a2fc4145 100644 --- a/components/codecs/src/reader.cpp +++ b/components/codecs/src/reader.cpp @@ -54,9 +54,12 @@ bool Reader::begin() { }*/ bool Reader::read(int64_t ts, const std::function<void(const ftl::codecs::StreamPacket &, ftl::codecs::Packet &)> &f) { - //UNIQUE_LOCK(mtx_, lk); + #ifdef DEBUG_MUTEX + UNIQUE_LOCK(mtx_, lk); + #else std::unique_lock<std::mutex> lk(mtx_, std::defer_lock); if (!lk.try_lock()) return true; + #endif // Check buffer first for frames already read for (auto i = data_.begin(); i != data_.end();) { diff --git a/components/streams/src/filestream.cpp b/components/streams/src/filestream.cpp index 62256438b..a9003dd04 100644 --- a/components/streams/src/filestream.cpp +++ b/components/streams/src/filestream.cpp @@ -65,9 +65,12 @@ bool File::tick(int64_t ts) { return false; } - //UNIQUE_LOCK(mtx_, lk); + #ifdef DEBUG_MUTEX + UNIQUE_LOCK(mutex_, lk); + #else std::unique_lock<std::mutex> lk(mutex_, std::defer_lock); if (!lk.try_lock()) return true; + #endif if (jobs_ > 0) { //LOG(ERROR) << "STILL HAS JOBS"; -- GitLab