mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-04 04:39:33 +01:00
fix possible crash at session close.
In the wake of 81faa3b420. Disconnect Signal from process
callback, may notify an IO that just reached a zero shared ptr refcount
due to route-deletion (GUI thread) resulting in a double free.
This commit is contained in:
parent
218b016a80
commit
26532364bb
1 changed files with 3 additions and 0 deletions
|
|
@ -99,6 +99,9 @@ IO::~IO ()
|
|||
void
|
||||
IO::disconnect_check (boost::shared_ptr<Port> a, boost::shared_ptr<Port> b)
|
||||
{
|
||||
if (_session.state_of_the_state () & Session::Deletion) {
|
||||
return;
|
||||
}
|
||||
/* this could be called from within our own ::disconnect() method(s)
|
||||
or from somewhere that operates directly on a port. so, we don't
|
||||
know for sure if we can take this lock or not. if we fail,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue