From 7bdf4e12ba13a7d49a4b83c7f0afa5109556d20b Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Wed, 24 Aug 2016 17:21:43 +0200 Subject: Take process-lock before processor-lock This [hopefully] fixes jack1 zombification on session-load with large plugin-states. Previously it was possible to block Route::process_output_buffers(). --- libs/ardour/route.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libs/ardour/route.cc') diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 8efe1315bc..33a6c13080 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -2815,6 +2815,7 @@ Route::set_processor_state (const XMLNode& node) } { + Glib::Threads::Mutex::Lock lx (AudioEngine::instance()->process_lock ()); Glib::Threads::RWLock::WriterLock lm (_processor_lock); /* re-assign _processors w/o process-lock. * if there's an IO-processor present in _processors but @@ -2822,7 +2823,6 @@ Route::set_processor_state (const XMLNode& node) * a process lock. */ _processors = new_order; - Glib::Threads::Mutex::Lock lx (AudioEngine::instance()->process_lock ()); if (must_configure) { configure_processors_unlocked (0, &lm); -- cgit v1.2.3