From 09a4cb445bdb4c4b0d25584b5e3a78b5449ef532 Mon Sep 17 00:00:00 2001 From: Matthew Bonner Date: Sun, 9 Dec 2018 16:11:42 +0000 Subject: [PATCH 1/2] Update LogManager.cs As per best practices, don't use lock on `this`. --- DnsServerCore/LogManager.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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 +} From b97fadd8b14220c7eda71008cde6f251e990c0cd Mon Sep 17 00:00:00 2001 From: Matthew Bonner Date: Mon, 10 Dec 2018 16:16:37 +0000 Subject: [PATCH 2/2] Update StatsManager.cs --- DnsServerCore/StatsManager.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/DnsServerCore/StatsManager.cs b/DnsServerCore/StatsManager.cs index 8ed1a46a..dd6aa891 100644 --- a/DnsServerCore/StatsManager.cs +++ b/DnsServerCore/StatsManager.cs @@ -88,10 +88,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;