From e6188b21aa424b8948bda97eb7c4838a4b6f9137 Mon Sep 17 00:00:00 2001 From: Bryan Biedenkapp Date: Mon, 14 Apr 2025 11:36:37 -0400 Subject: [PATCH] instead of using a while loop, just block based on whether or not another thread is holding the queue mutex; --- src/common/network/RawFrameQueue.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/common/network/RawFrameQueue.cpp b/src/common/network/RawFrameQueue.cpp index c0f2643f..e09dd753 100644 --- a/src/common/network/RawFrameQueue.cpp +++ b/src/common/network/RawFrameQueue.cpp @@ -12,7 +12,6 @@ #include "network/udp/Socket.h" #include "Log.h" #include "Utils.h" -#include "Thread.h" using namespace network; @@ -119,8 +118,7 @@ void RawFrameQueue::enqueueMessage(const uint8_t* message, uint32_t length, sock // if the queue is flushing -- don't attempt to enqueue any messages if (m_queueFlushing) { LogWarning(LOG_NET, "RawFrameQueue::enqueueMessage() -- queue is flushing, waiting to enqueue message"); - while (m_queueFlushing) - Thread::sleep(1U); + std::lock_guard lock(m_queueMutex); } uint8_t* buffer = new uint8_t[length];