From aff8ba4980b053588526d7fa14b862482a87923d Mon Sep 17 00:00:00 2001 From: falkTX Date: Tue, 19 Aug 2025 11:47:16 +0200 Subject: [PATCH] NativeBridge: replace Mutex with RecursiveMutex Signed-off-by: falkTX --- distrho/src/jackbridge/NativeBridge.hpp | 8 ++++---- distrho/src/jackbridge/RtAudioBridge.hpp | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/distrho/src/jackbridge/NativeBridge.hpp b/distrho/src/jackbridge/NativeBridge.hpp index 70068f02..4ee10ba3 100644 --- a/distrho/src/jackbridge/NativeBridge.hpp +++ b/distrho/src/jackbridge/NativeBridge.hpp @@ -35,8 +35,8 @@ #endif using DISTRHO_NAMESPACE::HeapRingBuffer; -using DISTRHO_NAMESPACE::Mutex; -using DISTRHO_NAMESPACE::MutexLocker; +using DISTRHO_NAMESPACE::RecursiveMutex; +using DISTRHO_NAMESPACE::RecursiveMutexLocker; struct NativeBridge { // Current status information @@ -81,7 +81,7 @@ struct NativeBridge { HeapRingBuffer midiInBufferCurrent; HeapRingBuffer midiInBufferPending; #endif - Mutex midiInLock; + RecursiveMutex midiInLock; #if DISTRHO_PLUGIN_WANT_MIDI_OUTPUT HeapRingBuffer midiOutBuffer; #endif @@ -163,7 +163,7 @@ struct NativeBridge { { // NOTE: this function is only called once per run { - const MutexLocker cml(midiInLock); + const RecursiveMutexLocker cml(midiInLock); midiInBufferCurrent.copyFromAndClearOther(midiInBufferPending); } return midiInBufferCurrent.getReadableDataSize() / kRingBufferMessageSize; diff --git a/distrho/src/jackbridge/RtAudioBridge.hpp b/distrho/src/jackbridge/RtAudioBridge.hpp index 945cb8c1..926b3791 100644 --- a/distrho/src/jackbridge/RtAudioBridge.hpp +++ b/distrho/src/jackbridge/RtAudioBridge.hpp @@ -425,7 +425,7 @@ struct RtAudioBridge : NativeBridge { RtAudioBridge* const self = static_cast(userData); - const MutexLocker cml(self->midiInLock); + const RecursiveMutexLocker rml(self->midiInLock); self->midiInBufferPending.writeByte(static_cast(len)); // TODO timestamp