diff options
| author | 2018-01-15 12:39:09 +0000 | |
|---|---|---|
| committer | 2018-01-15 12:39:09 +0000 | |
| commit | e61ee4198e3e568ad0836e33e27bb4bdcb64b9f1 (patch) | |
| tree | 5df14a67d2fa4856db34a3354a74aa4a252c315d | |
| parent | a5fed7f5269e3b420ad9054cec196bc55675808c (diff) | |
| parent | 33d8e5cc07531c566c0b237fea3a067638147d3c (diff) | |
Merge "change NMS removeNetwork to netd binder variant"
| -rw-r--r-- | services/core/java/com/android/server/ConnectivityService.java | 2 | ||||
| -rw-r--r-- | services/core/java/com/android/server/NetworkManagementService.java | 12 |
2 files changed, 10 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index f34730c084fc..b2acb1ca3b50 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -2472,6 +2472,7 @@ public class ConnectivityService extends IConnectivityManager.Stub private void handleRemoveNetworkRequest(final NetworkRequestInfo nri) { nri.unlinkDeathRecipient(); mNetworkRequests.remove(nri.request); + synchronized (mUidToNetworkRequestCount) { int requests = mUidToNetworkRequestCount.get(nri.mUid, 0); if (requests < 1) { @@ -2484,6 +2485,7 @@ public class ConnectivityService extends IConnectivityManager.Stub mUidToNetworkRequestCount.put(nri.mUid, requests - 1); } } + mNetworkRequestInfoLogs.log("RELEASE " + nri); if (nri.request.isRequest()) { boolean wasKept = false; diff --git a/services/core/java/com/android/server/NetworkManagementService.java b/services/core/java/com/android/server/NetworkManagementService.java index 40e6d2645b69..8f646e75862c 100644 --- a/services/core/java/com/android/server/NetworkManagementService.java +++ b/services/core/java/com/android/server/NetworkManagementService.java @@ -2508,12 +2508,16 @@ public class NetworkManagementService extends INetworkManagementService.Stub @Override public void removeNetwork(int netId) { - mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG); + mContext.enforceCallingOrSelfPermission(NETWORK_STACK, TAG); try { - mConnector.execute("network", "destroy", netId); - } catch (NativeDaemonConnectorException e) { - throw e.rethrowAsParcelableException(); + mNetdService.networkDestroy(netId); + } catch (ServiceSpecificException e) { + Log.w(TAG, "removeNetwork(" + netId + "): ", e); + throw e; + } catch (RemoteException e) { + Log.w(TAG, "removeNetwork(" + netId + "): ", e); + throw e.rethrowAsRuntimeException(); } } |