From 69f9e0c41875cb5857529ae165760f44997fe6b3 Mon Sep 17 00:00:00 2001 From: Wizou <11647984+wiz0u@users.noreply.github.com> Date: Wed, 24 Apr 2024 17:25:45 +0200 Subject: [PATCH] better handle sendSemaphore on client dispose scenario --- src/Client.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Client.cs b/src/Client.cs index 184ac8b..c620140 100644 --- a/src/Client.cs +++ b/src/Client.cs @@ -185,6 +185,7 @@ namespace WTelegram lock (_pendingRpcs) // abort all pending requests foreach (var rpc in _pendingRpcs.Values) rpc.tcs.TrySetException(ex); + _sendSemaphore.Dispose(); _networkStream = null; if (IsMainDC) _session.Dispose(); GC.SuppressFinalize(this); @@ -1304,7 +1305,7 @@ namespace WTelegram await SendAsync(container, false); return; } - await _sendSemaphore.WaitAsync(); + await _sendSemaphore.WaitAsync(_cts.Token); try { using var memStream = new MemoryStream(1024);