From 662bd03ddc7adec189fa419ffb937e3b15147578 Mon Sep 17 00:00:00 2001 From: MattMo Date: Wed, 1 Mar 2023 12:22:23 -0800 Subject: [PATCH] Changed Listener.Block to not use as much CPU usage, at least not visually in the task manager. --- Rest.Net.Example/Program.cs | 8 -------- Rest.Net/RouteListener.cs | 9 ++++++--- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/Rest.Net.Example/Program.cs b/Rest.Net.Example/Program.cs index 924b699..ca0759f 100644 --- a/Rest.Net.Example/Program.cs +++ b/Rest.Net.Example/Program.cs @@ -70,14 +70,6 @@ namespace MontoyaTech.Rest.Net.Example Console.WriteLine($"Rest api server running at {listener.BaseUrl}"); - var client = new Client(listener.BaseUrl); - - var result = client.Auth.Get(); - - StaticClient.Init(listener.BaseUrl); - - var result2 = StaticClient.Auth.Get(); - listener.Block(); } diff --git a/Rest.Net/RouteListener.cs b/Rest.Net/RouteListener.cs index e3cbdbc..559ee2b 100644 --- a/Rest.Net/RouteListener.cs +++ b/Rest.Net/RouteListener.cs @@ -215,9 +215,12 @@ namespace MontoyaTech.Rest.Net /// public void Block() { - while (this.HttpListener != null && Thread.CurrentThread.ThreadState != ThreadState.AbortRequested && Thread.CurrentThread.ThreadState != ThreadState.Aborted) - if (!Thread.Yield()) - Thread.Sleep(1000); + try + { + while (this.HttpListener != null && this.HttpListener.IsListening && Thread.CurrentThread.ThreadState != ThreadState.AbortRequested && Thread.CurrentThread.ThreadState != ThreadState.Aborted) + Thread.Sleep(100); + } + catch { } } ///