improve 1a288ddd
, destroy IO after disconnecting from signals.
This does not completely fix the race-condition. The GUI (e.g. connection-manager) may still hold a shared-ptr reference.
This commit is contained in:
parent
1b5354632f
commit
8b380a423a
|
@ -644,19 +644,19 @@ Session::destroy ()
|
|||
_slave = 0;
|
||||
}
|
||||
|
||||
/* remove I/O objects before unsetting the engine session */
|
||||
_click_io.reset ();
|
||||
_ltc_input.reset ();
|
||||
_ltc_output.reset ();
|
||||
|
||||
/* disconnect from any and all signals that we are connected to */
|
||||
|
||||
Port::PortSignalDrop (); /* EMIT SIGNAL */
|
||||
drop_connections ();
|
||||
|
||||
/* shutdown control surface protocols while we still have ports
|
||||
and the engine to move data to any devices.
|
||||
*/
|
||||
* and the engine to move data to any devices.
|
||||
*/
|
||||
|
||||
/* remove I/O objects before unsetting the engine session */
|
||||
_click_io.reset ();
|
||||
_ltc_input.reset ();
|
||||
_ltc_output.reset ();
|
||||
|
||||
ControlProtocolManager::instance().drop_protocols ();
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user