From 1b8759be3323ae740fdce9a8efcf1ce667b37e42 Mon Sep 17 00:00:00 2001 From: Jordan Dominion Date: Sat, 14 Oct 2023 00:21:51 -0400 Subject: [PATCH] Some monitor cleanups --- .../Components/Watchdog/WatchdogBase.cs | 26 +++++++------------ 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/src/Tgstation.Server.Host/Components/Watchdog/WatchdogBase.cs b/src/Tgstation.Server.Host/Components/Watchdog/WatchdogBase.cs index 3847e26077..522424dadd 100644 --- a/src/Tgstation.Server.Host/Components/Watchdog/WatchdogBase.cs +++ b/src/Tgstation.Server.Host/Components/Watchdog/WatchdogBase.cs @@ -817,30 +817,24 @@ namespace Tgstation.Server.Host.Components.Watchdog void UpdateMonitoredTasks() { - static void TryUpdateTask(ref Task oldTask, Func newTaskFactory) + var sameController = lastController == controller; + void TryUpdateTask(ref Task oldTask, Func newTaskFactory) { - if (oldTask?.IsCompleted == true) + if (sameController && oldTask?.IsCompleted == true) return; oldTask = newTaskFactory(); } controller.RebootGate = nextMonitorWakeupTcs.Task; - if (lastController == controller) - { - TryUpdateTask(ref activeServerLifetime, () => controller.Lifetime); - TryUpdateTask(ref activeServerReboot, () => controller.OnReboot); - TryUpdateTask(ref serverPrimed, () => controller.OnPrime); - TryUpdateTask(ref activeServerStartup, () => controller.OnStartup); - } - else - { - activeServerLifetime = controller.Lifetime; - activeServerReboot = controller.OnReboot; - serverPrimed = controller.OnPrime; - activeServerStartup = controller.OnStartup; + + TryUpdateTask(ref activeServerLifetime, () => controller.Lifetime); + TryUpdateTask(ref activeServerReboot, () => controller.OnReboot); + TryUpdateTask(ref serverPrimed, () => controller.OnPrime); + TryUpdateTask(ref activeServerStartup, () => controller.OnStartup); + + if (!sameController) lastController = controller; - } TryUpdateTask(ref activeLaunchParametersChanged, () => ActiveParametersUpdated.Task); TryUpdateTask(