From 810d86a8a9348e530943f40a9a86a1e65fbaeb05 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Tue, 31 Aug 2021 10:49:00 -0400 Subject: [PATCH] Fix chat provider race condition Reconnection attempts could still be made if the job starts as the provider was disconnecting. Stop the reconnection timer before attempting a disconnect. --- .../Components/Chat/Providers/Provider.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Tgstation.Server.Host/Components/Chat/Providers/Provider.cs b/src/Tgstation.Server.Host/Components/Chat/Providers/Provider.cs index ae41f61004..bfdebd4dc8 100644 --- a/src/Tgstation.Server.Host/Components/Chat/Providers/Provider.cs +++ b/src/Tgstation.Server.Host/Components/Chat/Providers/Provider.cs @@ -103,13 +103,13 @@ namespace Tgstation.Server.Host.Components.Chat.Providers /// public async Task Disconnect(CancellationToken cancellationToken) { + await StopReconnectionTimer().ConfigureAwait(false); + if (Connected) { await DisconnectImpl(cancellationToken).ConfigureAwait(false); Logger.LogTrace("Disconnected"); } - - await StopReconnectionTimer().ConfigureAwait(false); } ///