diff --git a/DnsServerCore/LogManager.cs b/DnsServerCore/LogManager.cs index 35519ba5..14c6efe8 100644 --- a/DnsServerCore/LogManager.cs +++ b/DnsServerCore/LogManager.cs @@ -34,6 +34,8 @@ namespace DnsServerCore string _logFile; StreamWriter _logOut; DateTime _logDate; + + readonly object _logFileLock = new object(); #endregion @@ -54,7 +56,7 @@ namespace DnsServerCore protected virtual void Dispose(bool disposing) { - lock (this) + lock (_logFileLock) { if (_disposed) return; @@ -214,7 +216,7 @@ namespace DnsServerCore { try { - lock (this) + lock (_logFileLock) { DateTime now = DateTime.UtcNow; @@ -230,7 +232,7 @@ namespace DnsServerCore public void DeleteCurrentLogFile() { - lock (this) + lock (_logFileLock) { _logOut.Close(); File.Delete(_logFile); @@ -251,4 +253,4 @@ namespace DnsServerCore #endregion } -} \ No newline at end of file +} diff --git a/DnsServerCore/StatsManager.cs b/DnsServerCore/StatsManager.cs index 1535c53b..22234a3b 100644 --- a/DnsServerCore/StatsManager.cs +++ b/DnsServerCore/StatsManager.cs @@ -89,10 +89,11 @@ namespace DnsServerCore #region IDisposable private bool _disposed = false; - + private object _disposeLock = new object(); + protected virtual void Dispose(bool disposing) { - lock (this) + lock (_disposeLock) { if (_disposed) return;