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()