From cdbf0dc15c33b59002d4220ebfcb3869e27aefa8 Mon Sep 17 00:00:00 2001 From: Povilas Kanapickas Date: Wed, 3 Nov 2021 02:58:38 +0200 Subject: [PATCH] lib/barrier: Use standard mutex primitives in PacketStreamFilter --- src/lib/barrier/PacketStreamFilter.cpp | 17 ++++++++--------- src/lib/barrier/PacketStreamFilter.h | 5 +++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/lib/barrier/PacketStreamFilter.cpp b/src/lib/barrier/PacketStreamFilter.cpp index 5955b6c2..714184ab 100644 --- a/src/lib/barrier/PacketStreamFilter.cpp +++ b/src/lib/barrier/PacketStreamFilter.cpp @@ -19,7 +19,6 @@ #include "barrier/PacketStreamFilter.h" #include "barrier/protocol_types.h" #include "base/IEventQueue.h" -#include "mt/Lock.h" #include "base/TMethodEventJob.h" #include @@ -46,7 +45,7 @@ PacketStreamFilter::~PacketStreamFilter() void PacketStreamFilter::close() { - Lock lock(&m_mutex); + std::lock_guard lock(mutex_); m_size = 0; m_buffer.pop(m_buffer.getSize()); StreamFilter::close(); @@ -59,7 +58,7 @@ PacketStreamFilter::read(void* buffer, UInt32 n) return 0; } - Lock lock(&m_mutex); + std::lock_guard lock(mutex_); // if not enough data yet then give up if (!isReadyNoLock()) { @@ -108,7 +107,7 @@ PacketStreamFilter::write(const void* buffer, UInt32 count) void PacketStreamFilter::shutdownInput() { - Lock lock(&m_mutex); + std::lock_guard lock(mutex_); m_size = 0; m_buffer.pop(m_buffer.getSize()); StreamFilter::shutdownInput(); @@ -117,14 +116,14 @@ PacketStreamFilter::shutdownInput() bool PacketStreamFilter::isReady() const { - Lock lock(&m_mutex); + std::lock_guard lock(mutex_); return isReadyNoLock(); } UInt32 PacketStreamFilter::getSize() const { - Lock lock(&m_mutex); + std::lock_guard lock(mutex_); return isReadyNoLock() ? m_size : 0; } @@ -136,7 +135,7 @@ PacketStreamFilter::isReadyNoLock() const bool PacketStreamFilter::readPacketSize() { - // note -- m_mutex must be locked on entry + // note -- mutex_ must be locked on entry if (m_size == 0 && m_buffer.getSize() >= 4) { UInt8 buffer[4]; @@ -189,14 +188,14 @@ void PacketStreamFilter::filterEvent(const Event& event) { if (event.getType() == m_events->forIStream().inputReady()) { - Lock lock(&m_mutex); + std::lock_guard lock(mutex_); if (!readMore()) { return; } } else if (event.getType() == m_events->forIStream().inputShutdown()) { // discard this if we have buffered data - Lock lock(&m_mutex); + std::lock_guard lock(mutex_); m_inputShutdown = true; if (m_size != 0) { return; diff --git a/src/lib/barrier/PacketStreamFilter.h b/src/lib/barrier/PacketStreamFilter.h index 0c4bb04e..5367bf51 100644 --- a/src/lib/barrier/PacketStreamFilter.h +++ b/src/lib/barrier/PacketStreamFilter.h @@ -20,7 +20,8 @@ #include "io/StreamFilter.h" #include "io/StreamBuffer.h" -#include "mt/Mutex.h" + +#include class IEventQueue; @@ -53,7 +54,7 @@ private: bool readMore(); private: - Mutex m_mutex; + mutable std::mutex mutex_; UInt32 m_size; StreamBuffer m_buffer; bool m_inputShutdown;