summaryrefslogtreecommitdiff
path: root/libs/ardour/bundle.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-07-10 13:49:51 +0200
committerRobin Gareus <robin@gareus.org>2013-07-10 15:27:12 +0200
commitbc1a0937104cc2596640d93c95f6fabb3dd5be35 (patch)
treeb14e9f95a890ed072c900553669637fbbdbd2ff4 /libs/ardour/bundle.cc
parent6e1781e5e33d6d97233a2e46aa98fd570d09e31f (diff)
amend to 212d2ac5d (port add/remove signals)
fix deadlock when updating audio/midi connection matrix during session-close or on exit. (Note: this still can cause a crash if the route goes away while the iterator in the connection-matrix still has an index of it)
Diffstat (limited to 'libs/ardour/bundle.cc')
-rw-r--r--libs/ardour/bundle.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/libs/ardour/bundle.cc b/libs/ardour/bundle.cc
index cf393644fc..0ac62d7076 100644
--- a/libs/ardour/bundle.cc
+++ b/libs/ardour/bundle.cc
@@ -206,6 +206,7 @@ Bundle::remove_channel (uint32_t ch)
Glib::Threads::Mutex::Lock lm (_channel_mutex);
_channel.erase (_channel.begin () + ch);
+ lm.release();
emit_changed (ConfigurationChanged);
}
@@ -217,6 +218,7 @@ Bundle::remove_channels ()
_channel.clear ();
+ lm.release();
emit_changed (ConfigurationChanged);
}