From b97e2d5013c9314cfec7d5e42862c836e907f3f1 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Mon, 28 Oct 2019 16:55:29 -0600 Subject: [PATCH] to avoid deadlock in JACK1 scenarios, do not invoke AudioEngine::update_latencies() from update_latency_compensation() if called from a process thread --- libs/ardour/session.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index fdfd7bf9d7..44646aa7f9 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -6534,6 +6534,9 @@ Session::update_latency_compensation (bool force_whole_graph) * those cases this call will return until the backend latency * callback is complete. */ + if (!AudioEngine::instance()->in_process_thread()) { + _engine.update_latencies (); + } } else { DEBUG_TRACE (DEBUG::LatencyCompensation, "update_latency_compensation: directly apply to routes\n"); boost::shared_ptr r = routes.reader ();