diff --git a/source/modules/distrho/extra/Mutex.hpp b/source/modules/distrho/extra/Mutex.hpp index ea5cc0043..14a5c6e60 100644 --- a/source/modules/distrho/extra/Mutex.hpp +++ b/source/modules/distrho/extra/Mutex.hpp @@ -37,12 +37,12 @@ public: /* * Constructor. */ - Mutex() noexcept + Mutex(bool inheritPriority = true) noexcept : fMutex() { pthread_mutexattr_t atts; pthread_mutexattr_init(&atts); - pthread_mutexattr_setprotocol(&atts, PTHREAD_PRIO_INHERIT); + pthread_mutexattr_setprotocol(&atts, inheritPriority ? PTHREAD_PRIO_INHERIT : PTHREAD_PRIO_NONE); pthread_mutexattr_settype(&atts, PTHREAD_MUTEX_NORMAL); pthread_mutex_init(&fMutex, &atts); pthread_mutexattr_destroy(&atts); diff --git a/source/modules/distrho/extra/Thread.hpp b/source/modules/distrho/extra/Thread.hpp index f2abb7673..0352c344b 100644 --- a/source/modules/distrho/extra/Thread.hpp +++ b/source/modules/distrho/extra/Thread.hpp @@ -37,7 +37,7 @@ protected: * Constructor. */ Thread(const char* const threadName = nullptr) noexcept - : fLock(), + : fLock(false), fName(threadName), #ifdef PTW32_DLLPORT fHandle({nullptr, 0}), diff --git a/source/native-plugins/zynaddsubfx-synth.cpp b/source/native-plugins/zynaddsubfx-synth.cpp index 4db327609..1674ea65a 100644 --- a/source/native-plugins/zynaddsubfx-synth.cpp +++ b/source/native-plugins/zynaddsubfx-synth.cpp @@ -189,7 +189,7 @@ static ZynAddSubFxPrograms sPrograms; // ----------------------------------------------------------------------- -class MiddleWareThread : public CarlaThread +class MiddleWareThread : private CarlaThread { public: class ScopedStopper diff --git a/source/utils/CarlaMutex.hpp b/source/utils/CarlaMutex.hpp index 64e31accc..2bb9d2164 100644 --- a/source/utils/CarlaMutex.hpp +++ b/source/utils/CarlaMutex.hpp @@ -31,13 +31,13 @@ public: /* * Constructor. */ - CarlaMutex() noexcept + CarlaMutex(const bool inheritPriority = true) noexcept : fMutex(), fTryLockWasCalled(false) { pthread_mutexattr_t atts; pthread_mutexattr_init(&atts); - pthread_mutexattr_setprotocol(&atts, PTHREAD_PRIO_INHERIT); + pthread_mutexattr_setprotocol(&atts, inheritPriority ? PTHREAD_PRIO_INHERIT : PTHREAD_PRIO_NONE); pthread_mutexattr_settype(&atts, PTHREAD_MUTEX_NORMAL); pthread_mutex_init(&fMutex, &atts); pthread_mutexattr_destroy(&atts); diff --git a/source/utils/CarlaThread.hpp b/source/utils/CarlaThread.hpp index 8c90893cc..45ef7e539 100644 --- a/source/utils/CarlaThread.hpp +++ b/source/utils/CarlaThread.hpp @@ -35,7 +35,7 @@ protected: * Constructor. */ CarlaThread(const char* const threadName = nullptr) noexcept - : fLock(), + : fLock(false), fName(threadName), #ifdef PTW32_DLLPORT fHandle({nullptr, 0}),