summaryrefslogtreecommitdiff
path: root/libs/ardour/session.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-12-12 00:09:24 +0100
committerRobin Gareus <robin@gareus.org>2016-12-12 00:09:38 +0100
commitb52bf1a42c71ae943eaff2bca4c309618c173ab3 (patch)
tree45fde06da82d3354177f6bb2b3ca9f438abc0e31 /libs/ardour/session.cc
parente4d6e4a87f5f93c9cc34d1d1f8909be4c90ce0ea (diff)
Fix potential deadlock on session-load
Diffstat (limited to 'libs/ardour/session.cc')
-rw-r--r--libs/ardour/session.cc7
1 files changed, 5 insertions, 2 deletions
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