From e480f53f7f0f22df0b19904dae938d3f850c9ee5 Mon Sep 17 00:00:00 2001 From: Qstick Date: Tue, 18 Jan 2022 20:17:01 -0600 Subject: [PATCH] More mono cleaning --- .../Http/Dispatchers/ManagedHttpDispatcher.cs | 34 ------------------- 1 file changed, 34 deletions(-) diff --git a/src/NzbDrone.Common/Http/Dispatchers/ManagedHttpDispatcher.cs b/src/NzbDrone.Common/Http/Dispatchers/ManagedHttpDispatcher.cs index 3fa5657c1..1be10eb56 100644 --- a/src/NzbDrone.Common/Http/Dispatchers/ManagedHttpDispatcher.cs +++ b/src/NzbDrone.Common/Http/Dispatchers/ManagedHttpDispatcher.cs @@ -82,9 +82,6 @@ namespace NzbDrone.Common.Http.Dispatchers if (httpWebResponse == null) { - // Workaround for mono not closing connections properly in certain situations. - AbortWebRequest(webRequest); - // The default messages for WebException on mono are pretty horrible. if (e.Status == WebExceptionStatus.NameResolutionFailure) { @@ -242,36 +239,5 @@ namespace NzbDrone.Common.Http.Dispatchers } } } - - // Workaround for mono not closing connections properly on timeouts - private void AbortWebRequest(HttpWebRequest webRequest) - { - // First affected version was mono 5.16 - if (OsInfo.IsNotWindows && _platformInfo.Version >= new Version(5, 16)) - { - try - { - var currentOperationInfo = webRequest.GetType().GetField("currentOperation", BindingFlags.NonPublic | BindingFlags.Instance); - var currentOperation = currentOperationInfo.GetValue(webRequest); - - if (currentOperation != null) - { - var responseStreamInfo = currentOperation.GetType().GetField("responseStream", BindingFlags.NonPublic | BindingFlags.Instance); - var responseStream = responseStreamInfo.GetValue(currentOperation) as Stream; - - // Note that responseStream will likely be null once mono fixes it. - responseStream?.Dispose(); - } - } - catch (Exception ex) - { - // This can fail randomly on future mono versions that have been changed/fixed. Log to sentry and ignore. - _logger.Trace() - .Exception(ex) - .Message("Unable to dispose responseStream on mono {0}", _platformInfo.Version) - .Write(); - } - } - } } }