| Index: content/public/android/java/src/org/chromium/content/app/ChildProcessServiceImpl.java
|
| diff --git a/content/public/android/java/src/org/chromium/content/app/ChildProcessServiceImpl.java b/content/public/android/java/src/org/chromium/content/app/ChildProcessServiceImpl.java
|
| index a3748f887a180d33217a4ef3340bec312b5e4edd..40d6387814a1980f9c1af4c5c5f59248897340af 100644
|
| --- a/content/public/android/java/src/org/chromium/content/app/ChildProcessServiceImpl.java
|
| +++ b/content/public/android/java/src/org/chromium/content/app/ChildProcessServiceImpl.java
|
| @@ -70,8 +70,6 @@ public class ChildProcessServiceImpl {
|
|
|
| private static AtomicReference<Context> sContext = new AtomicReference<>(null);
|
| private boolean mLibraryInitialized = false;
|
| - // Becomes true once the service is bound. Access must synchronize around mMainThread.
|
| - private boolean mIsBound = false;
|
|
|
| /**
|
| * If >= 0 enables "validation of caller of {@link mBinder}'s methods". A RemoteException
|
| @@ -164,11 +162,7 @@ public class ChildProcessServiceImpl {
|
| Linker linker = null;
|
| boolean requestedSharedRelro = false;
|
| if (Linker.isUsed()) {
|
| - synchronized (mMainThread) {
|
| - while (!mIsBound) {
|
| - mMainThread.wait();
|
| - }
|
| - }
|
| + assert mLinkerParams != null;
|
| linker = getLinker();
|
| if (mLinkerParams.mWaitForSharedRelro) {
|
| requestedSharedRelro = true;
|
| @@ -282,28 +276,24 @@ public class ChildProcessServiceImpl {
|
| return mBinder;
|
| }
|
|
|
| - void initializeParams(Intent intent) {
|
| + private void initializeParams(Intent intent) {
|
| synchronized (mMainThread) {
|
| - mCommandLineParams =
|
| - intent.getStringArrayExtra(ChildProcessConstants.EXTRA_COMMAND_LINE);
|
| // mLinkerParams is never used if Linker.isUsed() returns false.
|
| // See onCreate().
|
| mLinkerParams = new ChromiumLinkerParams(intent);
|
| mLibraryProcessType = ChildProcessCreationParams.getLibraryProcessType(intent);
|
| - mIsBound = true;
|
| mMainThread.notifyAll();
|
| }
|
| }
|
|
|
| - void getServiceInfo(Bundle bundle) {
|
| + private void getServiceInfo(Bundle bundle) {
|
| // Required to unparcel FileDescriptorInfo.
|
| bundle.setClassLoader(mHostClassLoader);
|
| synchronized (mMainThread) {
|
| - // Allow the command line to be set via bind() intent or setupConnection, but
|
| - // the FD can only be transferred here.
|
| if (mCommandLineParams == null) {
|
| mCommandLineParams =
|
| bundle.getStringArray(ChildProcessConstants.EXTRA_COMMAND_LINE);
|
| + mMainThread.notifyAll();
|
| }
|
| // We must have received the command line by now
|
| assert mCommandLineParams != null;
|
|
|