From 10bad36486df120fc7f727951e033fed7432dde6 Mon Sep 17 00:00:00 2001 From: Mikhail <99481254+DCFApixels@users.noreply.github.com> Date: Mon, 12 Jun 2023 01:16:00 +0800 Subject: [PATCH] add try catch block in thread --- src/ThreadRunner.cs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/ThreadRunner.cs b/src/ThreadRunner.cs index d149070..f9eb2d9 100644 --- a/src/ThreadRunner.cs +++ b/src/ThreadRunner.cs @@ -15,17 +15,22 @@ namespace DCFApixels.DragonECS private static void ThreadProc(object obj) { ref ThreadReacord record = ref _threads[(int)obj]; - //try - //{ - while (Thread.CurrentThread.IsAlive) + + while (Thread.CurrentThread.IsAlive) + { + try { record.runWork.WaitOne(); record.runWork.Reset(); _worker.Invoke(new ReadOnlySpan(_entities, record.start, record.size)); record.doneWork.Set(); } - //} - //catch { } + catch (Exception) + { + record.doneWork.Set(); + throw; + } + } } static ThreadRunner()