NtAssociateWaitCompletionPacket() initiates an asynchronous wait on the object handle. When the wait is done (the object is signaled), it queues a completion to the associated I/O completion port.
Make sense. I will revisit this MR after the code freeze.
Maybe, in the particular case of React Native, it only uses WaitCompletionPacket on manual reset events or other objects with no-op satisfied()? FWIW I couldn't find any reference to NtAssociateWaitCompletionPacket in https://github.com/facebook/react-native.
I am testing a React Native sample application. If I remember correctly, the NtAssociateWaitCompletionPacket() is from some Microsoft DLL, coremessagingxp.dll. I didn't look into the type of object it waits on.