Don't throw an exception when attempting to leave an unentered critical section, for consistency with simplsharp

This commit is contained in:
Chris Cameron
2017-10-02 10:00:47 -04:00
parent 873e02b175
commit f571807137
2 changed files with 5 additions and 1 deletions

View File

@@ -32,6 +32,9 @@ namespace ICD.Common.Utils.Tests
[Test]
public void LeaveTest()
{
SafeCriticalSection section = new SafeCriticalSection();
Assert.DoesNotThrow(() => section.Leave());
Assert.Inconclusive();
}

View File

@@ -20,7 +20,8 @@ namespace ICD.Common.Utils
/// </summary>
public void Leave()
{
Monitor.Exit(this);
if (Monitor.IsEntered(this))
Monitor.Exit(this);
}
/// <summary>