From 499d86bed3110650841240bf263c50cdb9fc8ea0 Mon Sep 17 00:00:00 2001 From: Captain ALM Date: Fri, 19 Mar 2021 18:51:50 +0000 Subject: [PATCH] Fix restarting status stating online. --- MelonVPNCore/DaemonSocketServer.cs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/MelonVPNCore/DaemonSocketServer.cs b/MelonVPNCore/DaemonSocketServer.cs index 7f28013..4455f0c 100644 --- a/MelonVPNCore/DaemonSocketServer.cs +++ b/MelonVPNCore/DaemonSocketServer.cs @@ -12,6 +12,7 @@ namespace MelonVPNCore private static Process currentVpnProcess = null; private static bool shouldBeRunning = false; private static bool shouldRestart = false; + private static bool isRestarting = false; private static int startingTime = 3000; private static int restartDelay = 250; @@ -64,9 +65,18 @@ namespace MelonVPNCore Console.WriteLine("Status requested"); if (isProcessOnline(currentVpnProcess) || shouldBeRunning) { - Console.WriteLine("Sending response: online"); - Client.SendDataMessage(DataMessage.Online, true); - Client.SendCustomMessage(lastClientUpdate, true); + if (isRestarting) + { + Console.WriteLine("Sending response: restarting"); + Client.SendDataMessage(DataMessage.Restarting, true); + Client.SendCustomMessage(lastClientUpdate, true); + } + else + { + Console.WriteLine("Sending response: online"); + Client.SendDataMessage(DataMessage.Online, true); + Client.SendCustomMessage(lastClientUpdate, true); + } } else { @@ -190,6 +200,7 @@ namespace MelonVPNCore currentVpnProcess = null; Thread.Sleep(restartDelay); bool imonline = false; + isRestarting = true; while (shouldRestart && shouldBeRunning) { Console.WriteLine("Sending restarting reply"); @@ -209,6 +220,7 @@ namespace MelonVPNCore Thread.Sleep(restartDelay); } } + isRestarting = false; if (! imonline) { shouldBeRunning = false;