summaryrefslogtreecommitdiffstats
path: root/services/core/java/com
diff options
context:
space:
mode:
authorLorenzo Colitti <lorenzo@google.com>2014-05-16 23:52:52 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-05-16 23:52:52 +0000
commit1bc91f0d2e3a4469a0a7dbc546c0b61d2fd88552 (patch)
tree3b6588af4df88ac17eef98bc8a6e8b6039c20564 /services/core/java/com
parentc5baa188068bac4c71ffdca62f09134a59f87454 (diff)
parent43b76dfddbfe2a27a0658dbca8632a9b1dc8d6ff (diff)
downloadframeworks_base-1bc91f0d2e3a4469a0a7dbc546c0b61d2fd88552.zip
frameworks_base-1bc91f0d2e3a4469a0a7dbc546c0b61d2fd88552.tar.gz
frameworks_base-1bc91f0d2e3a4469a0a7dbc546c0b61d2fd88552.tar.bz2
Merge "Stop clatd when starting the Nat464Xlat service."
Diffstat (limited to 'services/core/java/com')
-rw-r--r--services/core/java/com/android/server/connectivity/Nat464Xlat.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/connectivity/Nat464Xlat.java b/services/core/java/com/android/server/connectivity/Nat464Xlat.java
index 3884ab0..096ab66 100644
--- a/services/core/java/com/android/server/connectivity/Nat464Xlat.java
+++ b/services/core/java/com/android/server/connectivity/Nat464Xlat.java
@@ -74,6 +74,14 @@ public class Nat464Xlat extends BaseNetworkObserver {
mIsStarted = false;
mIsRunning = false;
mLP = new LinkProperties();
+
+ // If this is a runtime restart, it's possible that clatd is already
+ // running, but we don't know about it. If so, stop it.
+ try {
+ if (mNMService.isClatdStarted()) {
+ mNMService.stopClatd();
+ }
+ } catch(RemoteException e) {} // Well, we tried.
}
/**
@@ -198,13 +206,13 @@ public class Nat464Xlat extends BaseNetworkObserver {
NetworkUtils.resetConnections(
CLAT_INTERFACE_NAME,
NetworkUtils.RESET_IPV4_ADDRESSES);
+ mBaseLP.removeStackedLink(mLP);
+ updateConnectivityService();
}
Slog.i(TAG, "interface " + CLAT_INTERFACE_NAME +
" removed, mIsRunning = " + mIsRunning + " -> false");
mIsRunning = false;
- mBaseLP.removeStackedLink(mLP);
mLP.clear();
- updateConnectivityService();
Slog.i(TAG, "mLP = " + mLP);
}
}