Acquire lock to write NetworkStackConnector
As Java reference writes are atomic, the previous code should not have
issues, but since mConnector is marked @GuardedBy it could trigger
static analysis.
Test: m
Change-Id: I5a6174a4f32c349e593d0a16d58293d608a487c7
diff --git a/core/java/android/net/NetworkStack.java b/core/java/android/net/NetworkStack.java
index 601ee0f..af043ee 100644
--- a/core/java/android/net/NetworkStack.java
+++ b/core/java/android/net/NetworkStack.java
@@ -200,9 +200,7 @@
return null;
}
- synchronized (mPendingNetStackRequests) {
- return INetworkStackConnector.Stub.asInterface(connector);
- }
+ return INetworkStackConnector.Stub.asInterface(connector);
}
private void requestConnector(@NonNull NetworkStackCallback request) {
@@ -217,8 +215,11 @@
if (!mNetworkStackStartRequested) {
// The network stack is not being started in this process, e.g. this process is not
// the system server. Get a remote connector registered by the system server.
- mConnector = getRemoteConnector();
- request.onNetworkStackConnected(mConnector);
+ final INetworkStackConnector connector = getRemoteConnector();
+ synchronized (mPendingNetStackRequests) {
+ mConnector = connector;
+ }
+ request.onNetworkStackConnected(connector);
return;
}