Optimization when looking up requests for release
Including an optimzation in handleReleaseNetworkRequest when looking up a request so that in the chance an app shuts down prior to the request being released, it doesn't cause errors when looking validating that apps uid->package name. Bug: 178729499 Test: atest FrameworksNetTests atest ExtServicesUnitTests on CF and making sure no remote exceptions. Change-Id: I2c49511a1385b47fba075b2794685ae2bc80abba
This commit is contained in:
@@ -3721,7 +3721,12 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
// Looking up the app passed param request in mRequests isn't possible since it may return
|
||||
// null for a request managed by a per-app default. Therefore use getNriForAppRequest() to
|
||||
// do the lookup since that will also find per-app default managed requests.
|
||||
final NetworkRequestInfo nri = getNriForAppRequest(request);
|
||||
// Additionally, this lookup needs to be relatively fast (hence the lookup optimization)
|
||||
// to avoid potential race conditions when validating a package->uid mapping when sending
|
||||
// the callback on the very low-chance that an application shuts down prior to the callback
|
||||
// being sent.
|
||||
final NetworkRequestInfo nri = mNetworkRequests.get(request) != null
|
||||
? mNetworkRequests.get(request) : getNriForAppRequest(request);
|
||||
|
||||
if (nri != null) {
|
||||
if (Process.SYSTEM_UID != callingUid && Process.NETWORK_STACK_UID != callingUid
|
||||
|
||||
Reference in New Issue
Block a user