diff options
author | Robin Gareus <robin@gareus.org> | 2013-07-10 13:49:51 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2013-07-10 15:27:12 +0200 |
commit | bc1a0937104cc2596640d93c95f6fabb3dd5be35 (patch) | |
tree | b14e9f95a890ed072c900553669637fbbdbd2ff4 /libs/ardour/bundle.cc | |
parent | 6e1781e5e33d6d97233a2e46aa98fd570d09e31f (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.cc | 2 |
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); } |