From 89a1d4bde9df91843186b5a8d154d8bc31aad343 Mon Sep 17 00:00:00 2001 From: Bryan Biedenkapp Date: Wed, 14 Aug 2024 12:07:31 -0400 Subject: [PATCH] peekFrameLength() should abide by mutex locks on txQueue's; --- src/host/dmr/Slot.cpp | 2 ++ src/host/nxdn/Control.cpp | 2 ++ src/host/p25/Control.cpp | 2 ++ 3 files changed, 6 insertions(+) diff --git a/src/host/dmr/Slot.cpp b/src/host/dmr/Slot.cpp index 15c22cd7..4ff67e50 100644 --- a/src/host/dmr/Slot.cpp +++ b/src/host/dmr/Slot.cpp @@ -312,6 +312,8 @@ bool Slot::processFrame(uint8_t *data, uint32_t len) uint32_t Slot::peekFrameLength() { + std::lock_guard lock(m_queueLock); + if (m_txQueue.isEmpty() && m_txImmQueue.isEmpty()) return 0U; diff --git a/src/host/nxdn/Control.cpp b/src/host/nxdn/Control.cpp index 746bfc82..13bab34a 100644 --- a/src/host/nxdn/Control.cpp +++ b/src/host/nxdn/Control.cpp @@ -465,6 +465,8 @@ bool Control::processFrame(uint8_t* data, uint32_t len) uint32_t Control::peekFrameLength() { + std::lock_guard lock(m_queueLock); + if (m_txQueue.isEmpty() && m_txImmQueue.isEmpty()) return 0U; diff --git a/src/host/p25/Control.cpp b/src/host/p25/Control.cpp index 38befffa..e3449796 100644 --- a/src/host/p25/Control.cpp +++ b/src/host/p25/Control.cpp @@ -674,6 +674,8 @@ bool Control::processFrame(uint8_t* data, uint32_t len) uint32_t Control::peekFrameLength() { + std::lock_guard lock(m_queueLock); + if (m_txQueue.isEmpty() && m_txImmQueue.isEmpty()) return 0U;