_ASSERTE(IsLockOwnedByCurrentThread());
_ASSERTE(m_lockCount != 0);
- bool hasRefFromLockOwnerThread = m_hasRefFromLockOwnerThread;
- if (hasRefFromLockOwnerThread)
- {
- m_hasRefFromLockOwnerThread = false;
- }
-
sharedData->SetIsAbandoned(true);
m_lockCount = 0;
SetLockOwnerThread(nullptr);
ActuallyReleaseLock();
- if (hasRefFromLockOwnerThread)
+ if (m_hasRefFromLockOwnerThread)
{
+ m_hasRefFromLockOwnerThread = false;
m_processDataHeader->DecRefCount();
}
}
public static IEnumerable<object[]> CrossProcess_NamedMutex_ProtectedFileAccessAtomic_MemberData()
{
- var nameGuidStr = Guid.NewGuid().ToString("N");
foreach (var namePrefix in GetNamePrefixes())
{
- yield return new object[] { namePrefix + nameGuidStr };
+ yield return new object[] { namePrefix };
}
}
[Theory]
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/36307", TestRuntimes.Mono)]
[MemberData(nameof(CrossProcess_NamedMutex_ProtectedFileAccessAtomic_MemberData))]
public void CrossProcess_NamedMutex_ProtectedFileAccessAtomic(string prefix)
{