Previously we used ThreadPool APIs to wait for waitable objects. These APIs are backed by WaitCompletionPacket APIs, which are undocumented but easy to use. This PR is an attempt to use them.
Notice:
OpType::Event is not a hot path, and this PR doesn't provide optimization for most cases.
Previously we used ThreadPool APIs to wait for waitable objects. These APIs are backed by WaitCompletionPacket APIs, which are undocumented but easy to use. This PR is an attempt to use them.
Notice:
OpType::Event
is not a hot path, and this PR doesn't provide optimization for most cases.