Commit 43d9f387 authored by boliu's avatar boliu Committed by Commit bot

android: Remove sBindingManagerLock

Everything calling getBindingManager is already on launcher thread.
This removes the last lock in android's ChildProcessLauncher.

BUG=689758

Review-Url: https://codereview.chromium.org/2849943002
Cr-Commit-Position: refs/heads/master@{#468173}
parent d3706ec6
...@@ -14,6 +14,7 @@ import org.chromium.base.Log; ...@@ -14,6 +14,7 @@ import org.chromium.base.Log;
import org.chromium.base.ThreadUtils; import org.chromium.base.ThreadUtils;
import org.chromium.base.TraceEvent; import org.chromium.base.TraceEvent;
import org.chromium.base.VisibleForTesting; import org.chromium.base.VisibleForTesting;
import org.chromium.base.annotations.SuppressFBWarnings;
import org.chromium.base.library_loader.Linker; import org.chromium.base.library_loader.Linker;
import org.chromium.base.process_launcher.ChildProcessCreationParams; import org.chromium.base.process_launcher.ChildProcessCreationParams;
import org.chromium.base.process_launcher.FileDescriptorInfo; import org.chromium.base.process_launcher.FileDescriptorInfo;
...@@ -182,9 +183,6 @@ public class ChildProcessLauncher { ...@@ -182,9 +183,6 @@ public class ChildProcessLauncher {
private static Map<Integer, BaseChildProcessConnection> sServiceMap = private static Map<Integer, BaseChildProcessConnection> sServiceMap =
new ConcurrentHashMap<Integer, BaseChildProcessConnection>(); new ConcurrentHashMap<Integer, BaseChildProcessConnection>();
// Lock for getBindingManager()
private static final Object sBindingManagerLock = new Object();
// These variables are used for the warm up sandboxed connection. // These variables are used for the warm up sandboxed connection.
// |sSpareSandboxedConnection| is non-null when there is a pending connection. Note it's cleared // |sSpareSandboxedConnection| is non-null when there is a pending connection. Note it's cleared
// to null again after the connection is used for a real child process. // to null again after the connection is used for a real child process.
...@@ -204,13 +202,13 @@ public class ChildProcessLauncher { ...@@ -204,13 +202,13 @@ public class ChildProcessLauncher {
// Lazy initialize sBindingManager // Lazy initialize sBindingManager
// TODO(boliu): This should be internal to content. // TODO(boliu): This should be internal to content.
@SuppressFBWarnings("LI_LAZY_INIT_STATIC") // Method is single thread.
public static BindingManager getBindingManager() { public static BindingManager getBindingManager() {
synchronized (sBindingManagerLock) { assert LauncherThread.runningOnLauncherThread();
if (sBindingManager == null) { if (sBindingManager == null) {
sBindingManager = BindingManagerImpl.createBindingManager(); sBindingManager = BindingManagerImpl.createBindingManager();
}
return sBindingManager;
} }
return sBindingManager;
} }
@VisibleForTesting @VisibleForTesting
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment