Browse Source

exclude failed tunnel from pool

pull/48/head
orignal 11 years ago
parent
commit
d938332db2
  1. 12
      TunnelPool.cpp

12
TunnelPool.cpp

@ -37,7 +37,11 @@ namespace tunnel
void TunnelPool::TunnelExpired (InboundTunnel * expiredTunnel) void TunnelPool::TunnelExpired (InboundTunnel * expiredTunnel)
{ {
m_InboundTunnels.erase (expiredTunnel); if (expiredTunnel)
{
expiredTunnel->SetTunnelPool (nullptr);
m_InboundTunnels.erase (expiredTunnel);
}
if (m_LocalDestination) if (m_LocalDestination)
m_LocalDestination->UpdateLeaseSet (); m_LocalDestination->UpdateLeaseSet ();
} }
@ -49,7 +53,11 @@ namespace tunnel
void TunnelPool::TunnelExpired (OutboundTunnel * expiredTunnel) void TunnelPool::TunnelExpired (OutboundTunnel * expiredTunnel)
{ {
m_OutboundTunnels.erase (expiredTunnel); if (expiredTunnel)
{
expiredTunnel->SetTunnelPool (nullptr);
m_OutboundTunnels.erase (expiredTunnel);
}
if (expiredTunnel == m_LastOutboundTunnel) if (expiredTunnel == m_LastOutboundTunnel)
m_LastOutboundTunnel = nullptr; m_LastOutboundTunnel = nullptr;
} }

Loading…
Cancel
Save