From 4ad5b17ab53073b3e479e342ad8881bb1dd62297 Mon Sep 17 00:00:00 2001 From: James Grant Date: Tue, 9 Jun 2020 14:43:31 +1000 Subject: [PATCH] Fixed Task Scheduler operation cancelled error caused by Orphaned RunCleanup task on RequestQueue not being awaited on dispose --- src/Discord.Net.Rest/Net/Queue/RequestQueue.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Discord.Net.Rest/Net/Queue/RequestQueue.cs b/src/Discord.Net.Rest/Net/Queue/RequestQueue.cs index 4baf76433..6560b049d 100644 --- a/src/Discord.Net.Rest/Net/Queue/RequestQueue.cs +++ b/src/Discord.Net.Rest/Net/Queue/RequestQueue.cs @@ -140,7 +140,12 @@ namespace Discord.Net.Queue public void Dispose() { - _cancelTokenSource?.Dispose(); + if (!(_cancelTokenSource is null)) + { + _cancelTokenSource.Cancel(); + _cancelTokenSource?.Dispose(); + _cleanupTask.GetAwaiter().GetResult(); + } _tokenLock?.Dispose(); _clearToken?.Dispose(); _requestCancelTokenSource?.Dispose();