DescriptionNaCl plugin: Make ServiceRuntime::Shutdown() kill the NaCl loader
Previously, Shutdown would kill the loader by closing the SRPC command
channel. After SRPC removal, it became a no-op. But this caused a
deadlock in some cases where surfaway or embed element removal would
cause the PNaCl translator to block waiting to join the translation
thread while the translator nexe was waiting for more data. This change
makes the original shutdown sequence work as intended by making
ServiceRuntime::Shutdown() close the trusted plugin IPC channel, which
causes the service runtime to immediately exit.
1. This pokes a sort of arbitrary hole in the PPBNaClPrivate interface
but that interface is vestigial anyway.
2. Even aside from PPBNaClPrvate, there is a lot that could be simplified
or refactored about shutdown post-SRPC, but this is a minimal change
to fix the deadlock that users are experiencing, so we can get it
on a branch.
R=bbudge
BUG=645688
Review-Url: https://codereview.chromium.org/2556983003
Cr-Commit-Position: refs/heads/master@{#437418}
(cherry picked from commit 61ef841a46679445e532906eba407e4ba7ecda8e)
Committed: https://chromium.googlesource.com/chromium/src/+/8bf5b88ad8313472583f7f8cadb2be8dcde06069
Patch Set 1 #
Messages
Total messages: 2 (1 generated)
|