Browse Source

don't update found router again in RequestComplete

pull/2121/head
orignal 3 weeks ago
parent
commit
b2a10ac82b
  1. 6
      libi2pd/Transports.cpp

6
libi2pd/Transports.cpp

@ -491,9 +491,9 @@ namespace transport @@ -491,9 +491,9 @@ namespace transport
{
auto r = netdb.FindRouter (ident);
if (r && (r->IsUnreachable () || !r->IsReachableFrom (i2p::context.GetRouterInfo ()))) return; // router found but non-reachable
peer = std::make_shared<Peer>(r, i2p::util::GetSecondsSinceEpoch ());
{
auto ts = i2p::util::GetSecondsSinceEpoch ();
peer = std::make_shared<Peer>(r, ts);
std::unique_lock<std::mutex> l(m_PeersMutex);
peer = m_Peers.emplace (ident, peer).first->second;
}
@ -722,7 +722,7 @@ namespace transport @@ -722,7 +722,7 @@ namespace transport
void Transports::HandleRequestComplete (std::shared_ptr<const i2p::data::RouterInfo> r, i2p::data::IdentHash ident)
{
auto it = m_Peers.find (ident);
if (it != m_Peers.end ())
if (it != m_Peers.end () && !it->second->router)
{
if (r)
{

Loading…
Cancel
Save