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.