From 44b4b081177f442466bff96562fdc6350f147546 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Sat, 29 Jun 2024 13:17:07 +0200 Subject: [PATCH] Added block minter thread check --- .../org/qortal/controller/Controller.java | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/qortal/controller/Controller.java b/src/main/java/org/qortal/controller/Controller.java index 2ea376bd..6f0f5f80 100644 --- a/src/main/java/org/qortal/controller/Controller.java +++ b/src/main/java/org/qortal/controller/Controller.java @@ -564,6 +564,30 @@ public class Controller extends Thread { // If GUI is enabled, we're no longer starting up but actually running now Gui.getInstance().notifyRunning(); + + // Check every 10 minutes to see if the block minter is running + Timer timer = new Timer(); + + timer.schedule(new TimerTask() { + @Override + public void run() { + if (blockMinter.isAlive()) { + LOGGER.debug("Block minter is running? {}", blockMinter.isAlive()); + } else if (!blockMinter.isAlive()) { + LOGGER.debug("Block minter is running? {}", blockMinter.isAlive()); + blockMinter.shutdown(); + TimeUnit.SECONDS.sleep(10); + try { + // Start new block minter thread + LOGGER.info("Restarting block minter"); + blockMinter.start(); + } catch (Exception e) { + // Couldn't start new block minter thread + LOGGER.info("Starting block minter failed {}", e); + } + } + } + }, 10*60*1000, 10*60*1000); } /** Called by AdvancedInstaller's launch EXE in single-instance mode, when an instance is already running. */ @@ -571,7 +595,6 @@ public class Controller extends Thread { // Return as we don't want to run more than one instance } - // Main thread @Override