public void ReleaseWriterLock(int expectedFailureHResult = 0)
{
PerformLockAction(
expectedFailureHResult,
false /* isBlockingOperation */,
() => _rwl.ReleaseWriterLock(),
() =>
{
Assert.Equal(Environment.CurrentManagedThreadId, _writerThreadID);
Assert.NotEqual(0, _writerLevel);
--_writerLevel;
if (_writerLevel == 0)
{
_writerThreadID = InvalidThreadID;
}
});
}