From 6440a466ab651b6847ef150ef70b59539e09e563 Mon Sep 17 00:00:00 2001 From: goaaats <16760685+goaaats@users.noreply.github.com> Date: Mon, 18 Oct 2021 02:16:25 +0200 Subject: [PATCH] fix: lazy TaskTracker workaround(closes #650) --- .../Interface/Internal/Windows/DataWindow.cs | 37 +++++++++++++++++++ Dalamud/Logging/Internal/TaskTracker.cs | 2 +- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/Dalamud/Interface/Internal/Windows/DataWindow.cs b/Dalamud/Interface/Internal/Windows/DataWindow.cs index 678d9563a..16debd020 100644 --- a/Dalamud/Interface/Internal/Windows/DataWindow.cs +++ b/Dalamud/Interface/Internal/Windows/DataWindow.cs @@ -1308,6 +1308,43 @@ namespace Dalamud.Interface.Internal.Windows }); } + if (ImGui.Button("Drown in tasks")) + { + Task.Run(() => + { + for (var i = 0; i < 100; i++) + { + Task.Run(() => + { + for (var i = 0; i < 100; i++) + { + Task.Run(() => + { + for (var i = 0; i < 100; i++) + { + Task.Run(() => + { + for (var i = 0; i < 100; i++) + { + Task.Run(() => + { + for (var i = 0; i < 100; i++) + { + Thread.Sleep(1); + } + }); + } + }); + } + }); + } + }); + } + }); + } + + ImGui.SameLine(); + ImGuiHelpers.ScaledDummy(20); // Needed to init the task tracker, if we're not on a debug build diff --git a/Dalamud/Logging/Internal/TaskTracker.cs b/Dalamud/Logging/Internal/TaskTracker.cs index 3526d273f..6ee6148f3 100644 --- a/Dalamud/Logging/Internal/TaskTracker.cs +++ b/Dalamud/Logging/Internal/TaskTracker.cs @@ -33,7 +33,7 @@ namespace Dalamud.Logging.Internal /// /// Gets a read-only list of tracked tasks. /// - public static IReadOnlyList Tasks => TrackedTasksInternal; + public static IReadOnlyList Tasks => TrackedTasksInternal.ToArray(); /// /// Clear the list of tracked tasks.