diff --git a/Netch/Controllers/Guard.cs b/Netch/Controllers/Guard.cs index ee09e581..b9517441 100644 --- a/Netch/Controllers/Guard.cs +++ b/Netch/Controllers/Guard.cs @@ -199,15 +199,22 @@ namespace Netch.Controllers _logStreamWriter!.WriteLine(line); } + private readonly object LogStreamLock = new(); private void CloseLogFile() { if (!RedirectToFile) return; - _flushFileStreamTimer.Enabled = false; - _logStreamWriter?.Close(); - _logFileStream?.Close(); - _logStreamWriter = _logStreamWriter = null; + if (_logFileStream == null) + return; + + lock (LogStreamLock) + { + _flushFileStreamTimer.Enabled = false; + _logStreamWriter?.Close(); + _logFileStream?.Close(); + _logStreamWriter = _logStreamWriter = null; + } } #endregion