summaryrefslogtreecommitdiff
path: root/libs/ardour/session.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2019-10-28 16:55:29 -0600
committerPaul Davis <paul@linuxaudiosystems.com>2019-10-28 16:55:29 -0600
commitb97e2d5013c9314cfec7d5e42862c836e907f3f1 (patch)
treec6956a8e583d5e08762e53005c9b4db8c54031a2 /libs/ardour/session.cc
parent6b654039fbc0f8e35973b25ee6da804c3aae226e (diff)
to avoid deadlock in JACK1 scenarios, do not invoke AudioEngine::update_latencies() from update_latency_compensation() if called from a process thread
Diffstat (limited to 'libs/ardour/session.cc')
-rw-r--r--libs/ardour/session.cc3
1 files changed, 3 insertions, 0 deletions
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<RouteList> r = routes.reader ();