From 171c0b145a5a5644f2b955b3196c1a66093801f5 Mon Sep 17 00:00:00 2001 From: Evan Duffield Date: Sat, 1 Aug 2015 01:58:18 -0700 Subject: [PATCH] TRY_LOCK for blocks --- src/main.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index a9bd1ca713d92..bd626f319c52d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4881,6 +4881,9 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, else if (strCommand == "block" && !fImporting && !fReindex) // Ignore blocks received while importing { + TRY_LOCK(cs_main, lockMainBlock); + if(!lockMainBlock) return; + CBlock block; vRecv >> block; @@ -4896,7 +4899,6 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, pfrom->PushMessage("reject", strCommand, state.GetRejectCode(), state.GetRejectReason().substr(0, MAX_REJECT_MESSAGE_LENGTH), inv.hash); if (nDoS > 0) { - LOCK(cs_main); Misbehaving(pfrom->GetId(), nDoS); } }