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:
Robin Gareus 2016-04-18 21:55:50 +02:00
parent 218b016a80
commit 26532364bb

View file

@ -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,