diff --git a/src/libraries/System.Net.WebSockets.Client/src/System/Net/WebSockets/BrowserWebSockets/BrowserWebSocket.cs b/src/libraries/System.Net.WebSockets.Client/src/System/Net/WebSockets/BrowserWebSockets/BrowserWebSocket.cs index f34c8ee6db72a0..f7334b5f64ec4b 100644 --- a/src/libraries/System.Net.WebSockets.Client/src/System/Net/WebSockets/BrowserWebSockets/BrowserWebSocket.cs +++ b/src/libraries/System.Net.WebSockets.Client/src/System/Net/WebSockets/BrowserWebSockets/BrowserWebSocket.cs @@ -399,7 +399,7 @@ private async Task SendAsyncCore(ArraySegment buffer, WebSocketMessageType if (sendTask != null) // this is optimization for single-threaded build, see resolvedPromise() in web-socket.ts. Null means synchronously resolved. { - await CancellationHelper(sendTask, cancellationToken, previousState, pinBuffer).ConfigureAwait(false); + await CancellationHelper(sendTask, cancellationToken, previousState).ConfigureAwait(false); } } catch (JSException ex) @@ -442,7 +442,7 @@ private async Task ReceiveAsyncCore(ArraySegment b if (receiveTask != null) // this is optimization for single-threaded build, see resolvedPromise() in web-socket.ts. Null means synchronously resolved. { - await CancellationHelper(receiveTask, cancellationToken, previousState, pinBuffer).ConfigureAwait(false); + await CancellationHelper(receiveTask, cancellationToken, previousState).ConfigureAwait(false); } return ConvertResponse(); @@ -550,13 +550,12 @@ private async Task CloseAsyncCore(WebSocketCloseStatus closeStatus, string? stat } } - private async Task CancellationHelper(Task promise, CancellationToken cancellationToken, WebSocketState previousState, IDisposable? disposable = null) + private async Task CancellationHelper(Task promise, CancellationToken cancellationToken, WebSocketState previousState) { try { if (promise.IsCompletedSuccessfully) { - disposable?.Dispose(); return; } if (promise.IsCompleted) @@ -602,10 +601,6 @@ private async Task CancellationHelper(Task promise, CancellationToken cancellati throw new WebSocketException(WebSocketError.NativeError, ex); } } - finally - { - disposable?.Dispose(); - } } // needs to be called with locked _lockObject