From 9e63c503b917f48c3644e490c668b2f550dddefb Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Mon, 24 Jul 2017 02:02:54 +0300 Subject: [PATCH] =?UTF-8?q?Zond:fix:=20=D1=80=D0=B0=D1=81=D1=87=D0=B5?= =?UTF-8?q?=D1=82=20=D0=B7=D0=B0=D0=B4=D0=B5=D1=80=D0=B6=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=BF=D1=83=D1=81=D0=BA=D0=B0=20PingMonitor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zond/src/main/java/asys/zond/PingMonitor.java | 2 -- .../main/java/asys/zond/ZondCommandHandler.java | 16 +++++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/zond/src/main/java/asys/zond/PingMonitor.java b/zond/src/main/java/asys/zond/PingMonitor.java index b8c7027..64999ea 100644 --- a/zond/src/main/java/asys/zond/PingMonitor.java +++ b/zond/src/main/java/asys/zond/PingMonitor.java @@ -1,7 +1,5 @@ package asys.zond; -import asys.zond.shell.Shell; - public class PingMonitor { private static final long STEP_PING = 5000; private final long delayStart; diff --git a/zond/src/main/java/asys/zond/ZondCommandHandler.java b/zond/src/main/java/asys/zond/ZondCommandHandler.java index 091ca71..18848cd 100644 --- a/zond/src/main/java/asys/zond/ZondCommandHandler.java +++ b/zond/src/main/java/asys/zond/ZondCommandHandler.java @@ -86,7 +86,7 @@ public class ZondCommandHandler implements CommandHandler { do { int code = 0; - long deadTime = System.currentTimeMillis() + delay; + long deadTime = 0; try { server = new Server(); @@ -99,6 +99,7 @@ public class ZondCommandHandler implements CommandHandler { flagForceRestartProcess = true; killProcess(); }); + deadTime = (System.currentTimeMillis()/1000) + delay; code = executor.execute(commandLine); } catch (ExecuteException e) { code = e.getExitValue(); @@ -106,14 +107,19 @@ public class ZondCommandHandler implements CommandHandler { Shell.getInstance().getOutput().println("Exception message: " + e.getMessage()); code = -99; } + long currTime = System.currentTimeMillis()/1000; server.shutdown(); pingMonitor.stop(); server = null; Shell.getInstance().getOutput().println("Process finished. Code: " + code); - if (!pingMonitor.isCorrectShutdown()) { - if (System.currentTimeMillis() <= deadTime && !flagManualKill) { + if (pingMonitor.isCorrectShutdown()) { + flagForceRestartProcess = false; + _try = 0; + break; + } else { + if (currTime <= deadTime && !flagManualKill) { Shell.getInstance().getOutput().println("[!] Premature end process."); _try++; if (_try < 2) { @@ -128,10 +134,6 @@ public class ZondCommandHandler implements CommandHandler { } else { break; } - } else { - flagForceRestartProcess = false; - _try = 0; - break; } } while (_try < 2);