commit 0caae856225131947316c649e292cdd9becef97e parent 16090b5782fc9095e8ceace207400ddecd8732fb Author: dsp56300 <dsp56300@users.noreply.github.com> Date: Sat, 27 Jul 2024 08:48:49 +0200 do not enter lock if not needed Diffstat:
M | source/nord/n2x/n2xLib/n2xdsp.cpp | | | 11 | +++++++---- |
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/source/nord/n2x/n2xLib/n2xdsp.cpp b/source/nord/n2x/n2xLib/n2xdsp.cpp @@ -266,11 +266,14 @@ namespace n2x { ++m_numEsaiCallbacks; - std::unique_lock uLock(m_haltDSPmutex); - m_haltDSPcv.wait(uLock, [&] + if(m_numEsaiCallbacks >= m_maxEsaiCallbacks + m_esaiLatency) { - return (m_maxEsaiCallbacks + m_esaiLatency) > m_numEsaiCallbacks; - }); + std::unique_lock uLock(m_haltDSPmutex); + m_haltDSPcv.wait(uLock, [&] + { + return (m_maxEsaiCallbacks + m_esaiLatency) > m_numEsaiCallbacks; + }); + } m_esaiCallback(); }