From 48d27401aeb2a3348c752647f0ac92113fa88420 Mon Sep 17 00:00:00 2001 From: ChronosX88 Date: Sun, 19 Jul 2020 15:10:14 +0400 Subject: [PATCH] Optimize waiting process for keeping the process running (replace while loop with EventWaitHandle) --- .gitignore | 3 ++- src/Zirconium/Core/Main.cs | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 2ae3d85..a4f49af 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /.config.toml bin -obj \ No newline at end of file +obj +/.plugins \ No newline at end of file diff --git a/src/Zirconium/Core/Main.cs b/src/Zirconium/Core/Main.cs index 5182fde..1ededbd 100644 --- a/src/Zirconium/Core/Main.cs +++ b/src/Zirconium/Core/Main.cs @@ -1,4 +1,5 @@ using System; +using System.Threading; using CommandLine; using Nett; using Zirconium.Core.Logging; @@ -12,7 +13,7 @@ namespace Zirconium.Core } class Program { - private static bool keepRunning = true; + private static EventWaitHandle wailtHandle = new EventWaitHandle(false, EventResetMode.AutoReset); static void Main(string[] args) { @@ -45,9 +46,9 @@ namespace Zirconium.Core { e.Cancel = true; app.Destroy(); - keepRunning = false; + wailtHandle.Set(); }; - while(keepRunning) {} + wailtHandle.WaitOne(); } } }