Fix the threading for Windows on-demand server in the updater.
The COM objects participating in the on-demand transactions on the server side are free threaded. That means that they can be entered by any COM RPC threads when calls on their interfaces are made by the on-demand client on Chrome. These objects can also be entered by the thread pool threads of the updater, when callbacks from the update service are posted. This CL introduces a sequential task runner to `move` the callbacks which occur in the main sequence onto a new sequence, which can block on base synchronization primitives. Then, it introduces a lock to serialize access to the free threaded COM objects. BUG:1074027 Change-Id: Icc8f579aebf943e5d43965f6f7d2a63e664bf0bd Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2161347 Commit-Queue: Sorin Jianu <sorin@chromium.org> Reviewed-by:S. Ganesh <ganesh@chromium.org> Reviewed-by:
Joshua Pawlicki <waffles@chromium.org> Cr-Commit-Position: refs/heads/master@{#762461}
Showing
This diff is collapsed.
Please register or sign in to comment