From 8cc4a4afc2c05b9dceeca2406ce4184e4675089e Mon Sep 17 00:00:00 2001 From: Laura Hausmann Date: Fri, 12 Jul 2024 18:33:07 +0200 Subject: [PATCH] [backend/core] Refactor EventHelpers --- Iceshrimp.Backend/Core/Helpers/EventHelpers.cs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Iceshrimp.Backend/Core/Helpers/EventHelpers.cs b/Iceshrimp.Backend/Core/Helpers/EventHelpers.cs index f390f174..1b9cac0e 100644 --- a/Iceshrimp.Backend/Core/Helpers/EventHelpers.cs +++ b/Iceshrimp.Backend/Core/Helpers/EventHelpers.cs @@ -2,17 +2,18 @@ namespace Iceshrimp.Backend.Core.Helpers; public sealed class AsyncAutoResetEvent(bool signaled = false) { + public bool Signaled { get; private set; } = signaled; + private readonly List> _noResetTaskCompletionSources = []; private readonly List> _taskCompletionSources = []; - public bool Signaled => signaled; public Task WaitAsync(CancellationToken cancellationToken = default) { lock (_taskCompletionSources) { - if (signaled) + if (Signaled) { - signaled = false; + Signaled = false; return Task.FromResult(true); } @@ -27,7 +28,7 @@ public sealed class AsyncAutoResetEvent(bool signaled = false) { lock (_taskCompletionSources) { - if (signaled) + if (Signaled) return Task.FromResult(true); var tcs = new TaskCompletionSource(); @@ -41,7 +42,7 @@ public sealed class AsyncAutoResetEvent(bool signaled = false) { lock (_taskCompletionSources) { - signaled = true; + Signaled = true; foreach (var tcs in _noResetTaskCompletionSources.ToList()) { _noResetTaskCompletionSources.Remove(tcs); @@ -50,7 +51,7 @@ public sealed class AsyncAutoResetEvent(bool signaled = false) if (_taskCompletionSources.Count == 0) return; - signaled = false; + Signaled = false; foreach (var tcs in _taskCompletionSources.ToList()) { _taskCompletionSources.Remove(tcs);