message: Do not reprocess blocks that are already part of mapBlockIndex.
diff: @@ -5907,6 +5907,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
  pfrom->AddInventoryKnown(inv);
  CValidationState state;
  + if (!mapBlockIndex.count(block.GetHash())) {
  ProcessNewBlock(state, pfrom, &block);
  int nDoS;
  if(state.IsInvalid(nDoS)) {
  @@ -5916,12 +5917,13 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
  TRY_LOCK(cs_main, lockMain);
  if(lockMain) Misbehaving(pfrom->GetId(), nDoS);
  }
  -
  + }
  //disconnect this node if its old protocol version
  pfrom->DisconnectOldProtocol(ActiveProtocol(), strCommand);
  + } else {
  + LogPrint("net", "%s : Already processed block %s, skipping ProcessNewBlock()\n", __func__, block.GetHash().GetHex());
  }
  }
  -
  }
  