From 5febd2d27bc3dda6c213c77a47daa4d13e7efcff Mon Sep 17 00:00:00 2001 From: Wizou <11647984+wiz0u@users.noreply.github.com> Date: Wed, 29 Nov 2023 15:16:35 +0100 Subject: [PATCH] Abort pending requests on Dispose (I thought it was already the case!?) --- src/Client.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Client.cs b/src/Client.cs index 67b3f0d..a9d43a9 100644 --- a/src/Client.cs +++ b/src/Client.cs @@ -174,6 +174,10 @@ namespace WTelegram { Helpers.Log(2, $"{_dcSession.DcID}>Disposing the client"); Reset(false, IsMainDC); + var ex = new TaskCanceledException("WTelegram.Client was disposed"); + lock (_pendingRpcs) // abort all pending requests + foreach (var rpc in _pendingRpcs.Values) + rpc.tcs.TrySetException(ex); _networkStream = null; if (IsMainDC) _session.Dispose(); GC.SuppressFinalize(this);