From c7a1cfa719d7e92da1fe6d278a022bbe03011600 Mon Sep 17 00:00:00 2001 From: Cyberboss Date: Wed, 6 Dec 2017 12:52:52 -0500 Subject: [PATCH] Fix watchdog crashing if DreamDaemon immediately exits --- TGS.Server/Instance/DreamDaemon.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/TGS.Server/Instance/DreamDaemon.cs b/TGS.Server/Instance/DreamDaemon.cs index cf27aedce9..0e056f30fe 100644 --- a/TGS.Server/Instance/DreamDaemon.cs +++ b/TGS.Server/Instance/DreamDaemon.cs @@ -346,8 +346,12 @@ namespace TGS.Server CurrentDDLog = DateTime.UtcNow.ToString("yyyy-MM-ddTHH-mm-ssZ"); WriteCurrentDDLog("Starting monitoring..."); } - pcpu = new PerformanceCounter("Process", "% Processor Time", Proc.ProcessName, true); - MemTrackTimer.Start(); + try + { + pcpu = new PerformanceCounter("Process", "% Processor Time", Proc.ProcessName, true); + MemTrackTimer.Start(); + } + catch (InvalidOperationException) { /*process already exited*/ } try { Proc.WaitForExit(); @@ -357,7 +361,7 @@ namespace TGS.Server lock (watchdogLock) //synchronize { MemTrackTimer.Stop(); - pcpu.Dispose(); + pcpu?.Dispose(); } }