diff options
author | Robin Gareus <robin@gareus.org> | 2016-12-12 00:09:24 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-12-12 00:09:38 +0100 |
commit | b52bf1a42c71ae943eaff2bca4c309618c173ab3 (patch) | |
tree | 45fde06da82d3354177f6bb2b3ca9f438abc0e31 /libs/ardour/session.cc | |
parent | e4d6e4a87f5f93c9cc34d1d1f8909be4c90ce0ea (diff) |
Fix potential deadlock on session-load
Diffstat (limited to 'libs/ardour/session.cc')
-rw-r--r-- | libs/ardour/session.cc | 7 |
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 |