gearmulator

Emulation of classic VA synths of the late 90s/2000s that are based on Motorola 56300 family DSPs
Log | Files | Refs | Submodules | README | LICENSE

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:
Msource/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(); }