diff options
author | Koundinya Veluri <kouvel@users.noreply.github.com> | 2017-11-02 13:49:11 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-02 13:49:11 -0700 |
commit | 8c0fd04f78ef2b6325c6be876cc2c2f8e2bc9a1f (patch) | |
tree | fe3abd38c2934d37d61f13e8478fff1add5327b2 | |
parent | 2f7596487eb74a9dee0eb1c25d2f0f0047f963c4 (diff) | |
download | coreclr-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.cpp | 1 |
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; |