X-Git-Url: https://git.pterodactylus.net/?p=fms.git;a=blobdiff_plain;f=src%2Ffreenet%2Fidentityinserter.cpp;h=988aa25ca1d49b7ccc7563d3ba2481b4b9dedda7;hp=a18aa0e22e08bf5057ce4b0a4eb224e056cfb7b4;hb=HEAD;hpb=9ae3b1434e51788e6feb72e1415ec800d05c535a diff --git a/src/freenet/identityinserter.cpp b/src/freenet/identityinserter.cpp index a18aa0e..988aa25 100644 --- a/src/freenet/identityinserter.cpp +++ b/src/freenet/identityinserter.cpp @@ -64,6 +64,7 @@ const bool IdentityInserter::HandleMessage(FCPv2::Message &message) std::vector idparts; StringFunctions::Split(message["Identifier"],"|",idparts); + m_lastreceivedmessage=now; // no action for URIGenerated if(message.GetName()=="URIGenerated") @@ -137,6 +138,7 @@ const bool IdentityInserter::HandleMessage(FCPv2::Message &message) void IdentityInserter::Initialize() { m_lastchecked=Poco::Timestamp(); + m_lastreceivedmessage=Poco::Timestamp(); } void IdentityInserter::Process() @@ -149,6 +151,17 @@ void IdentityInserter::Process() m_lastchecked=now; } + if(m_lastreceivedmessage<(now-Poco::Timespan(0,0,10,0,0))) + { + SQLite3DB::Statement st=m_db->Prepare("SELECT IdentityID FROM tblIdentity WHERE InsertingIdentity='true';"); + st.Step(); + if(st.RowReturned()) + { + m_log->debug("IdentityInserter::Process 10 minutes have passed without an insert response from the node. Restarting inserts."); + m_db->Execute("UPDATE tblLocalIdentity SET InsertingIdentity='false';"); + } + } + } void IdentityInserter::RegisterWithThread(FreenetMasterThread *thread)