diff --git a/Tunnel.cpp b/Tunnel.cpp index 05aa5801..7a17b61e 100644 --- a/Tunnel.cpp +++ b/Tunnel.cpp @@ -300,13 +300,15 @@ namespace tunnel { if (pool) { + { + std::unique_lock l(m_PoolsMutex); + m_Pools.erase (pool->GetIdentHash ()); + } { std::unique_lock l(m_PendingTunnelsMutex); for (auto it: m_PendingTunnels) if (it.second->GetTunnelPool () == pool) it.second->SetTunnelPool (nullptr); } - std::unique_lock l(m_PoolsMutex); - m_Pools.erase (pool->GetIdentHash ()); delete pool; } }