From 18b54ae2dd4c5c6c614a9c5a7b7ee0fcc35c9eaa Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Thu, 12 Oct 2017 13:00:21 -0400 Subject: [PATCH] Fixes double messages for hard restarts --- TGServerService/DreamDaemon.cs | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/TGServerService/DreamDaemon.cs b/TGServerService/DreamDaemon.cs index d8eb9d48f5..d740173e89 100644 --- a/TGServerService/DreamDaemon.cs +++ b/TGServerService/DreamDaemon.cs @@ -189,21 +189,16 @@ namespace TGServerService { if (DaemonStatus() == TGDreamDaemonStatus.Offline) return Start(); - if (!Monitor.TryEnter(restartLock)) - return "Restart already in progress"; - try + lock(restartLock) { - SendMessage("DD: Hard restart triggered", ChatMessageType.WatchdogInfo); - RestartInProgress = true; - Stop(); - var res = Start(); - return res; - } - finally - { - RestartInProgress = false; - Monitor.Exit(restartLock); + if (RestartInProgress) + return "Restart already in progress"; } + SendMessage("DD: Hard restart triggered", ChatMessageType.WatchdogInfo); + RestartInProgress = true; + Stop(); + var res = Start(); + return res; } //loop that keeps the server running