From a9371f0a9064e21fffb05a49119ff019fdbdcd19 Mon Sep 17 00:00:00 2001 From: catbref Date: Thu, 3 Mar 2022 20:32:27 +0000 Subject: [PATCH] In Controller.processIncomingTransactionsQueue(), don't bother with 2nd-phase of locking blockchain and importing if there are no valid signature transactions to actually import --- src/main/java/org/qortal/controller/Controller.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/qortal/controller/Controller.java b/src/main/java/org/qortal/controller/Controller.java index 4e2d0b72..ede953c2 100644 --- a/src/main/java/org/qortal/controller/Controller.java +++ b/src/main/java/org/qortal/controller/Controller.java @@ -847,7 +847,7 @@ public class Controller extends Thread { private void processIncomingTransactionsQueue() { if (this.incomingTransactions.isEmpty()) { - // Don't bother locking if there are no new transactions to process + // Nothing to do? return; } @@ -912,6 +912,11 @@ public class Controller extends Thread { sigValidTransactions.add(transaction); } + if (sigValidTransactions.isEmpty()) { + // Don't bother locking if there are no new transactions to process + return; + } + try { ReentrantLock blockchainLock = Controller.getInstance().getBlockchainLock(); if (!blockchainLock.tryLock(2, TimeUnit.SECONDS)) {