From 8276a4658a723c54bbbf941375d2e27416e82043 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 12 Dec 2016 22:47:16 +0100 Subject: [PATCH] Fix possible crash when removing ports with jack1 --- libs/ardour/session.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 55fd63e083..5b9d7369b5 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -7080,7 +7080,12 @@ Session::auto_connect_thread_run () } } - AudioEngine::instance()->clear_pending_port_deletions (); + { + // this may call ARDOUR::Port::drop ... jack_port_unregister () + // jack1 cannot cope with removing ports while processing + Glib::Threads::Mutex::Lock lm (AudioEngine::instance()->process_lock ()); + AudioEngine::instance()->clear_pending_port_deletions (); + } pthread_cond_wait (&_auto_connect_cond, &_auto_connect_mutex); }