From 61830a75c8f432ae03b8ff80c660fb18820f0f02 Mon Sep 17 00:00:00 2001 From: Jordan Dominion Date: Sat, 14 Oct 2023 14:35:19 -0400 Subject: [PATCH] Use a thread safe order of operations here just in case --- .../Components/Engine/EngineManager.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Tgstation.Server.Host/Components/Engine/EngineManager.cs b/src/Tgstation.Server.Host/Components/Engine/EngineManager.cs index b09dc5860d..0ae4dbf9ee 100644 --- a/src/Tgstation.Server.Host/Components/Engine/EngineManager.cs +++ b/src/Tgstation.Server.Host/Components/Engine/EngineManager.cs @@ -78,7 +78,7 @@ namespace Tgstation.Server.Host.Components.Engine /// /// that notifes when the changes. /// - TaskCompletionSource activeVersionChanged; + volatile TaskCompletionSource activeVersionChanged; /// /// Validates a given parameter. @@ -158,8 +158,8 @@ namespace Tgstation.Server.Host.Components.Engine ActiveVersion = version; logger.LogInformation("Active version changed to {version}", version); - activeVersionChanged.SetResult(); - activeVersionChanged = new TaskCompletionSource(); + var oldTcs = Interlocked.Exchange(ref activeVersionChanged, new TaskCompletionSource()); + oldTcs.SetResult(); } }