From b52bf1a42c71ae943eaff2bca4c309618c173ab3 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 12 Dec 2016 00:09:24 +0100 Subject: Fix potential deadlock on session-load --- libs/ardour/session.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'libs/ardour') diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 4f005b1001..55fd63e083 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -818,8 +818,10 @@ Session::setup_ltc () { Glib::Threads::Mutex::Lock lm (AudioEngine::instance()->process_lock ()); _ltc_input->ensure_io (ChanCount (DataType::AUDIO, 1), true, this); + // TODO use auto-connect thread somehow (needs a route currently) + // see note in Session::auto_connect_thread_run() why process lock is needed. + reconnect_ltc_input (); } - reconnect_ltc_input (); } if (state_tree && (child = find_named_node (*state_tree->root(), X_("LTC Out"))) != 0) { @@ -828,8 +830,9 @@ Session::setup_ltc () { Glib::Threads::Mutex::Lock lm (AudioEngine::instance()->process_lock ()); _ltc_output->ensure_io (ChanCount (DataType::AUDIO, 1), true, this); + // TODO use auto-connect thread + reconnect_ltc_output (); } - reconnect_ltc_output (); } /* fix up names of LTC ports because we don't want the normal -- cgit v1.2.3