From 858cb225b98b3074a52182ea0967611c3bbbfaff Mon Sep 17 00:00:00 2001 From: Stanley Dimant Date: Sat, 8 Oct 2022 15:52:47 +0200 Subject: [PATCH] cancel healthcheck on stopconnection --- MareSynchronos/WebAPI/ApiController.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/MareSynchronos/WebAPI/ApiController.cs b/MareSynchronos/WebAPI/ApiController.cs index 4c49b35..d411be6 100644 --- a/MareSynchronos/WebAPI/ApiController.cs +++ b/MareSynchronos/WebAPI/ApiController.cs @@ -251,7 +251,7 @@ public partial class ApiController : IDisposable, IMareHubClient private async Task ClientHealthCheck(CancellationToken ct) { - while (!ct.IsCancellationRequested) + while (!ct.IsCancellationRequested && _mareHub != null) { await Task.Delay(TimeSpan.FromSeconds(30), ct).ConfigureAwait(false); if (ct.IsCancellationRequested) break; @@ -313,6 +313,7 @@ public partial class ApiController : IDisposable, IMareHubClient Task.Run(async () => await StopConnection(_connectionCancellationTokenSource.Token).ConfigureAwait(false)); _connectionCancellationTokenSource?.Cancel(); + _healthCheckTokenSource?.Cancel(); } private HubConnection BuildHubConnection(string hubName) @@ -361,6 +362,7 @@ public partial class ApiController : IDisposable, IMareHubClient if (_mareHub is not null) { _initialized = false; + _healthCheckTokenSource?.Cancel(); _uploadCancellationTokenSource?.Cancel(); Logger.Info("Stopping existing connection"); _mareHub.Closed -= MareHubOnClosed;