diff --git a/src/Tgstation.Server.Host/Core/SemaphoreSlimContext.cs b/src/Tgstation.Server.Host/Core/SemaphoreSlimContext.cs index 9627a3e25e..d16b7ae628 100644 --- a/src/Tgstation.Server.Host/Core/SemaphoreSlimContext.cs +++ b/src/Tgstation.Server.Host/Core/SemaphoreSlimContext.cs @@ -52,11 +52,14 @@ namespace Tgstation.Server.Host.Core /// public void Dispose() { - if (disposed) - return; - lockedSemaphore.Release(); + lock (this) + { + if (disposed) + return; + disposed = true; + } GC.SuppressFinalize(this); - disposed = true; + lockedSemaphore.Release(); } } }