mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-01-22 08:14:15 +00:00
doesn't create same local destination twice
This commit is contained in:
parent
ed692ffba3
commit
b0052eae05
@ -185,10 +185,20 @@ namespace client
|
|||||||
LogPrint ("New private keys file ", fullPath, " for ", m_AddressBook.ToAddress(keys.GetPublic ().GetIdentHash ()), " created");
|
LogPrint ("New private keys file ", fullPath, " for ", m_AddressBook.ToAddress(keys.GetPublic ().GetIdentHash ()), " created");
|
||||||
}
|
}
|
||||||
|
|
||||||
auto localDestination = new ClientDestination (keys, isPublic);
|
ClientDestination * localDestination = nullptr;
|
||||||
std::unique_lock<std::mutex> l(m_DestinationsMutex);
|
std::unique_lock<std::mutex> l(m_DestinationsMutex);
|
||||||
m_Destinations[localDestination->GetIdentHash ()] = localDestination;
|
auto it = m_Destinations.find (keys.GetPublic ().GetIdentHash ());
|
||||||
localDestination->Start ();
|
if (it != m_Destinations.end ())
|
||||||
|
{
|
||||||
|
LogPrint (eLogWarning, "Local destination ", m_AddressBook.ToAddress(keys.GetPublic ().GetIdentHash ()), " alreday exists");
|
||||||
|
localDestination = it->second;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
localDestination = new ClientDestination (keys, isPublic);
|
||||||
|
m_Destinations[localDestination->GetIdentHash ()] = localDestination;
|
||||||
|
localDestination->Start ();
|
||||||
|
}
|
||||||
return localDestination;
|
return localDestination;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user