Robin Gareus 32a0c6a3ff Drop TMM ports when closing session, or backend goes away
TMM ports cannot exist without a backend.
This fixes crashes where the PortEngine is re-initialized
(backend change):

Previously, TMM ports were only dropped (and recreated)
in TMM::restart() called from ARDOUR::init_post_engine().
When starting a new backend the old one is already destroyed,
but TM still held reference to Ports owned by that backend.
Calling the port's d'tor caused a memory corruption trying to
acquire the backend's port_callback_mutex:

e.g. When creating new session with a different backend
from a running instance, or unit-test after call to
AudioEngine::destroy(): https://pastebin.com/4D6pLA5s
2020-10-22 07:38:00 +02:00
2020-10-21 15:57:58 +02:00
2020-10-02 13:58:10 +02:00
2016-06-25 00:44:04 +02:00
2020-10-18 17:45:32 +02:00
2020-07-06 21:36:12 +02:00
2013-03-13 14:35:39 -04:00
2020-01-25 04:07:41 +01:00
2020-09-29 06:06:11 +02:00

Please see the Ardour web site at http://ardour.org/ for all documentation..

For information on building ardour: 
      
     http://ardour.org/development.html
Description
No description provided
Readme 198 MiB
Languages
C++ 56.5%
C 39.6%
JavaScript 1.3%
Lua 0.9%
Python 0.6%
Other 0.9%