From 3222741962c22c27db6657fc94d553c6bfb3c5df Mon Sep 17 00:00:00 2001 From: Kenneth Pouncey Date: Wed, 17 Jun 2020 06:15:26 +0200 Subject: [PATCH] [browser][wasm] Fix already disposed error (#37887) * [browser][wasm] Fix already disposed error * Remove CancellationTokenSource redundant disposal * Address redundant initialization * Address review comments bailing first think if already disposed * Address review comment --- .../src/System/Net/Http/BrowserHttpHandler/BrowserHttpHandler.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/libraries/System.Net.Http/src/System/Net/Http/BrowserHttpHandler/BrowserHttpHandler.cs b/src/libraries/System.Net.Http/src/System/Net/Http/BrowserHttpHandler/BrowserHttpHandler.cs index 0b4b513..f32e5f7 100644 --- a/src/libraries/System.Net.Http/src/System/Net/Http/BrowserHttpHandler/BrowserHttpHandler.cs +++ b/src/libraries/System.Net.Http/src/System/Net/Http/BrowserHttpHandler/BrowserHttpHandler.cs @@ -281,6 +281,7 @@ namespace System.Net.Http private readonly JSObject _abortController; private readonly CancellationTokenSource _abortCts; private readonly CancellationTokenRegistration _abortRegistration; + private bool _isDisposed; public WasmFetchResponse(JSObject fetchResponse, JSObject abortController, CancellationTokenSource abortCts, CancellationTokenRegistration abortRegistration) { @@ -313,17 +314,17 @@ namespace System.Net.Http // Protected implementation of Dispose pattern. protected virtual void Dispose(bool disposing) { + if (_isDisposed) + return; + + _isDisposed = true; if (disposing) { - // Free any other managed objects here. - // _abortCts.Cancel(); _abortCts.Dispose(); _abortRegistration.Dispose(); } - // Free any unmanaged objects here. - // _fetchResponse?.Dispose(); _abortController?.Dispose(); } -- 2.7.4