DescriptionChange the update_client task runner behavior to continue on shutdown.
Historically, we've had issues with running the BITS COM client on
threads and interfering with the browser shutdown.
For reason not entirely understood, some out of process COM calls,
and most common the call to enumerate BITS jobs appear to hang and
consequently trigger the browser hang shutdown detector.
At first, we had run this code on the FILE thread, then we had moved
it on blocking pool threads. However, the net effect is that the
hang moved as well.
This change avoids blocking the shutdown by allowing the code to
run after the browser shutdown until the OS terminates the thread as
part of the process exit.
While it is somehow difficult to reason about the correctness of
the update_client code, this change is reasonably safe to make
due to aspects of refcounting and containment of the update_client
such as not accessing browser global state and refcounting the
objects that are thread aware.
BUG=552028
Committed: https://crrev.com/5081941b99d37952e1c60c9cb24257369d9c6416
Cr-Commit-Position: refs/heads/master@{#359138}
Patch Set 1 #Patch Set 2 : comment updates #Depends on Patchset: Messages
Total messages: 28 (11 generated)
|