Chromium Code Reviews
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
BUG=639244
Review-Url: https://codereview.chromium.org/2312583002
Cr-Commit-Position: refs/heads/master@{#416486}
(cherry picked from commit 6e79a75b0a1e9f99a1a0956fd1570968a5ec9348)
Patch Set 1 #
Messages
Total messages: 1 (0 generated)
|
|||||||||||||||||||