aboutsummaryrefslogtreecommitdiff
path: root/Jellyfin.Api/WebSocketListeners/ScheduledTasksWebSocketListener.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Jellyfin.Api/WebSocketListeners/ScheduledTasksWebSocketListener.cs')
-rw-r--r--Jellyfin.Api/WebSocketListeners/ScheduledTasksWebSocketListener.cs21
1 files changed, 12 insertions, 9 deletions
diff --git a/Jellyfin.Api/WebSocketListeners/ScheduledTasksWebSocketListener.cs b/Jellyfin.Api/WebSocketListeners/ScheduledTasksWebSocketListener.cs
index 37c108d5a..dd9286210 100644
--- a/Jellyfin.Api/WebSocketListeners/ScheduledTasksWebSocketListener.cs
+++ b/Jellyfin.Api/WebSocketListeners/ScheduledTasksWebSocketListener.cs
@@ -20,6 +20,8 @@ public class ScheduledTasksWebSocketListener : BasePeriodicWebSocketListener<IEn
/// <value>The task manager.</value>
private readonly ITaskManager _taskManager;
+ private bool _disposed;
+
/// <summary>
/// Initializes a new instance of the <see cref="ScheduledTasksWebSocketListener"/> class.
/// </summary>
@@ -56,31 +58,32 @@ public class ScheduledTasksWebSocketListener : BasePeriodicWebSocketListener<IEn
}
/// <inheritdoc />
- protected override void Dispose(bool dispose)
+ protected override async ValueTask DisposeAsyncCore()
{
- if (dispose)
+ if (!_disposed)
{
_taskManager.TaskExecuting -= OnTaskExecuting;
_taskManager.TaskCompleted -= OnTaskCompleted;
+ _disposed = true;
}
- base.Dispose(dispose);
+ await base.DisposeAsyncCore().ConfigureAwait(false);
}
- private async void OnTaskCompleted(object? sender, TaskCompletionEventArgs e)
+ private void OnTaskCompleted(object? sender, TaskCompletionEventArgs e)
{
e.Task.TaskProgress -= OnTaskProgress;
- await SendData(true).ConfigureAwait(false);
+ SendData(true);
}
- private async void OnTaskExecuting(object? sender, GenericEventArgs<IScheduledTaskWorker> e)
+ private void OnTaskExecuting(object? sender, GenericEventArgs<IScheduledTaskWorker> e)
{
- await SendData(true).ConfigureAwait(false);
+ SendData(true);
e.Argument.TaskProgress += OnTaskProgress;
}
- private async void OnTaskProgress(object? sender, GenericEventArgs<double> e)
+ private void OnTaskProgress(object? sender, GenericEventArgs<double> e)
{
- await SendData(false).ConfigureAwait(false);
+ SendData(false);
}
}