Uh oh!
There was an error while loading. Please reload this page.
Fix concurrency issue in TypeDescriptor GetProperties() and GetConverter() - #96846
Conversation
Originally a race condition exists in `CheckDefaultProvider` and leads to wrong results when many methods are called simultaneously. The PR fixes that by extending the lock statement. Fixdotnet#92934
to wrong results when many methods are called simultaneously. The PR fixes that by extending the lock statement. Fixdotnet#92394
Moved tests to the main testing file Adopted tests from dotnet#85156 Co-authored-by: Maximys <mixim33@yandex.ru>
ConcurrentGetProperties_ReturnsExpected is skipped on browsers because Thread.Start is unsupported.
ghost
commented
Jan 11, 2024
Tagging subscribers to this area: @dotnet/area-system-componentmodel |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
ericstj
left a comment
There was a problem hiding this comment.
This looks good to me. For those tests - assume you saw them failing before the fix and confirmed the fix fixes them?
steveharter
commented
Jan 12, 2024
Yes, I reverted the changes from the previous PR and the 3 new tests failed. Then I added back the changes and the tests passed. |
Fixes#92394
Fixes#30024
Replaces (and is derived from the same branch as) PR #92521 in order to apply the "sentinel" pattern so that we don't need a new Hashtable instance. Thanks karakasa and Maximys for your work on this.