Browse Source

Synchronize hasInvalidBlock predicate, as it wasn't thread safe

pull/91/head
CalDescent 2 years ago
parent
commit
a2e1efab90
  1. 2
      src/main/java/org/qortal/controller/Controller.java
  2. 2
      src/main/java/org/qortal/network/Peer.java

2
src/main/java/org/qortal/controller/Controller.java

@ -723,6 +723,7 @@ public class Controller extends Thread {
};
public static final Predicate<Peer> hasInvalidBlock = peer -> {
synchronized (peer.peerInfoLock) {
final PeerChainTipData peerChainTipData = peer.getChainTipData();
Map<ByteArray, Long> invalidBlockSignatures = Synchronizer.getInstance().getInvalidBlockSignatures();
List<byte[]> peerSignatures = new ArrayList<>();
@ -756,6 +757,7 @@ public class Controller extends Thread {
}
}
return false;
}
};
public static final Predicate<Peer> hasNoRecentBlock = peer -> {

2
src/main/java/org/qortal/network/Peer.java

@ -121,7 +121,7 @@ public class Peer {
// Peer info
private final Object peerInfoLock = new Object();
public final Object peerInfoLock = new Object();
private String peersNodeId;
private byte[] peersPublicKey;

Loading…
Cancel
Save