DescriptionRevert of Stop shutting down the message loop when the renderer stops (patchset #1 id:1 of https://codereview.chromium.org/2270543002/ )
Reason for revert:
I'll revert r413430 and its dependent CLs because r413430 caused issue 642072.
The problem is that we cannot simply remove blink::shutdown because the following scenario can happen:
1) blink::shutdown is not called. Workers are still running.
2) RenderThreadImpl gets destructed. MessageLoop gets destructed.
3) The workers may access the RenderThreadImpl and MessageLoop.
To fix the problem, we need to call ProcessDied() and forcibly kill the renderer process at the end of RenderThreadImpl::Shutdown().
Original issue's description:
> Stop shutting down the message loop when the renderer stops
>
> This CL stops processing remaining tasks at the end of the shutdown sequence.
> This has been a source of use-after-free crashes because base::RunLoop().RunUntilIdle()
> runs arbitrary tasks after many things have been shut down.
> main_message_loop_.reset() was also problematic because it can trigger connection error handlers of Mojo,
> which called code in Blink.
>
> BUG=639244
>
> Committed: https://crrev.com/e0817cfbfc3c7f8b13aa2ffc99c31f336ba1d29a
> Cr-Commit-Position: refs/heads/master@{#413959}
TBR=jochen@chromium.org,torne@chromium.org,jam@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=639244
Committed: https://crrev.com/6e79a75b0a1e9f99a1a0956fd1570968a5ec9348
Cr-Commit-Position: refs/heads/master@{#416486}
Patch Set 1 #
Messages
Total messages: 7 (3 generated)
|