This repository has been archived by the owner on Jan 23, 2023. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move WaitHandle to shared CoreLib (dotnet/coreclr#22634)
* Move part of WaitHandle to shared CoreLib * Bring back OpenExistingResult to fix build * Move reminder of WaitHandle to shared, implement SynchronizationContext logic in managed code, handle SafeHandle referencing in managed code * Update with changes neeeded for CoreRT * Span -> ReadOnlySpan * Remove dead code * Fix SafeHandle error handling * Avoid double check on input values in WaitHandle.WaitOne overloads * Make OpenExistingResult private protected instead of internal * Make WaitHandle._waitHandle private * Code style fixes * Remove unnecessary GC.KeepAlive * Move ERROR_TOO_MANY_POSTS exception handling to CoreCLR specific code * Add cache for wait arrays to match previous CoreRT behavior and reduce GC pressure, change unmanaged code to allocate small array on stack * Address PR feedback * Reduce allocations/copying by moving stack allocation to managed code * Address PR feedback * Minor code reshuffle * Move thread local access close to each other * Address code style feedback * Add const to Wait* constants Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
- Loading branch information