You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jan 23, 2023. It is now read-only.
The AsyncOperation type in System.ComponentModel.EventBasedAsync tracks whether it's already been completed, and any subsequent attempts to Post operations through a completed instance are supposed to result in exceptions. However, the implementation currently doesn't set its completion flag until after it's invoked the completion callback. This means that if the completion callback then itself attempts to reuse the instance or if it initiates another async operation that does, there's a race condition between the subsequent access to the instance and the setting of the flag. This change fixes up the ordering so that the flag is set prior to invoking the completion callback rather than after.
0 commit comments