summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKoundinya Veluri <kouvel@users.noreply.github.com>2017-11-02 13:49:11 -0700
committerGitHub <noreply@github.com>2017-11-02 13:49:11 -0700
commit8c0fd04f78ef2b6325c6be876cc2c2f8e2bc9a1f (patch)
treefe3abd38c2934d37d61f13e8478fff1add5327b2
parent2f7596487eb74a9dee0eb1c25d2f0f0047f963c4 (diff)
downloadcoreclr-8c0fd04f78ef2b6325c6be876cc2c2f8e2bc9a1f.tar.gz
coreclr-8c0fd04f78ef2b6325c6be876cc2c2f8e2bc9a1f.tar.bz2
coreclr-8c0fd04f78ef2b6325c6be876cc2c2f8e2bc9a1f.zip
Remove invalid assert in CLRLifoSemaphore (#14805)
After https://github.com/dotnet/coreclr/pull/14535, the assert is no longer valid. A thread that times out does not decrement the count of waiters signaled to wake because a timed-out thread does not observe a signal to the object that was waited upon. If there were no other waiters to observe the signal, the count of waiters signaled to wake can become greater than the waiter count. This is valid, and tracks how many signals are pending. I don't think there is a good way to update the assert to reflect this, removed the assert.
-rw-r--r--src/vm/synch.cpp1
1 files changed, 0 insertions, 1 deletions
diff --git a/src/vm/synch.cpp b/src/vm/synch.cpp
index c21e4f53a0..1dd038237a 100644
--- a/src/vm/synch.cpp
+++ b/src/vm/synch.cpp
@@ -973,7 +973,6 @@ void CLRLifoSemaphore::Release(INT32 releaseCount)
if (countsBeforeUpdate == counts)
{
_ASSERTE((UINT32)releaseCount <= m_maximumSignalCount - counts.signalCount);
- _ASSERTE(newCounts.countOfWaitersSignaledToWake <= newCounts.waiterCount);
if (countOfWaitersToWake <= 0)
{
return;