1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00
JUCE/extras/AudioPluginHost
reuk b060d5d947
AudioPluginHost: Fix occasional deadlocks when scanning plugins out-of-process
Observed on Ubuntu Linux. Occasionally, the loop checking the
condition_variable in the plugin scanner would spin indefinitely.

The cause appears to be that handleMessageFromWorker could be
called immediately after sendMessageToWorker, but before locking the
mutex. If this happens, gotResponse will be false during every call to
condvar.wait_for, and the loop will never exit.

The rewritten version of the scanner always resets gotResult immediately
after the condvar is woken successfully, so a call to
handleMessageFromWorker or handleConnectionLost will always cause a
subsequent call to condvar.wait_for to exit successfully.

The Superprocess class has also been refactored and extracted to avoid
a circular dependency between Superprocess and CustomPluginScanner.
2022-06-16 16:17:52 +01:00
..
Builds Xcode: Update LastUpgradeCheck 2022-06-01 13:57:33 +01:00
JuceLibraryCode Resave all projects 2022-05-12 12:31:30 +02:00
Source AudioPluginHost: Fix occasional deadlocks when scanning plugins out-of-process 2022-06-16 16:17:52 +01:00
AudioPluginHost.jucer Projucer: Remove VS2015 and CLion exporters 2022-05-25 13:56:55 +02:00
CMakeLists.txt Update licensing banners to JUCE 7 2022-05-16 17:55:48 +01:00