| Index: content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java
|
| diff --git a/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java b/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java
|
| index 5dbee0d0611eda76e18aeda35b4593044502b3b2..c131ff735e6064811f4fbe2f6451a9eff25dafc2 100644
|
| --- a/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java
|
| +++ b/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java
|
| @@ -166,13 +166,9 @@ public class SandboxedProcessService extends Service {
|
| } catch (InterruptedException e) {
|
| }
|
| }
|
| -
|
| - // This is not synchronized with the main thread in any way, but this is analogous
|
| - // to how desktop chrome terminates processes using SIGTERM. The mSandboxMainThread
|
| - // may run briefly before this is executed, but will eventually get a channel error
|
| - // and similarly commit suicide via SuicideOnChannelErrorFilter().
|
| - // TODO(tedbo): Why doesn't the activity manager SIGTERM/SIGKILL this service process?
|
| - nativeExitSandboxedProcess();
|
| + // Try to shutdown the SandboxMainThread gracefully, but it might not
|
| + // have chance to exit normally.
|
| + nativeShutdownSandboxMainThread();
|
| }
|
|
|
| @Override
|
| @@ -254,4 +250,6 @@ public class SandboxedProcessService extends Service {
|
| * Force the sandboxed process to exit.
|
| */
|
| private static native void nativeExitSandboxedProcess();
|
| +
|
| + private native void nativeShutdownSandboxMainThread();
|
| }
|
|
|