From e0e50faa477d7443d3b3ce432e25aceb3989491b Mon Sep 17 00:00:00 2001 From: orignal Date: Wed, 16 Nov 2016 10:59:11 -0500 Subject: [PATCH] publish 0-hops leaseset --- TunnelPool.cpp | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/TunnelPool.cpp b/TunnelPool.cpp index ccd4c12c..ea7928eb 100644 --- a/TunnelPool.cpp +++ b/TunnelPool.cpp @@ -215,15 +215,6 @@ namespace tunnel void TunnelPool::CreateTunnels () { int num = 0; - { - std::unique_lock l(m_InboundTunnelsMutex); - for (const auto& it : m_InboundTunnels) - if (it->IsEstablished ()) num++; - } - for (int i = num; i < m_NumInboundTunnels; i++) - CreateInboundTunnel (); - - num = 0; { std::unique_lock l(m_OutboundTunnelsMutex); for (const auto& it : m_OutboundTunnels) @@ -231,6 +222,18 @@ namespace tunnel } for (int i = num; i < m_NumOutboundTunnels; i++) CreateOutboundTunnel (); + + num = 0; + { + std::unique_lock l(m_InboundTunnelsMutex); + for (const auto& it : m_InboundTunnels) + if (it->IsEstablished ()) num++; + } + for (int i = num; i < m_NumInboundTunnels; i++) + CreateInboundTunnel (); + + if (num > 0 && m_NumInboundHops <= 0 && m_LocalDestination) // zero hops IB + m_LocalDestination->SetLeaseSetUpdated (); // update LeaseSet immediately } void TunnelPool::TestTunnels ()