diff options
-rw-r--r-- | services/core/java/com/android/server/connectivity/KeepaliveTracker.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/connectivity/KeepaliveTracker.java b/services/core/java/com/android/server/connectivity/KeepaliveTracker.java index bde430cc297f..84887bdb2dbf 100644 --- a/services/core/java/com/android/server/connectivity/KeepaliveTracker.java +++ b/services/core/java/com/android/server/connectivity/KeepaliveTracker.java @@ -496,10 +496,11 @@ public class KeepaliveTracker { if (networkKeepalives != null) { for (KeepaliveInfo ki : networkKeepalives.values()) { ki.stop(reason); + // Clean up keepalives since the network agent is disconnected and unable to pass + // back asynchronous result of stop(). + cleanupStoppedKeepalive(nai, ki.mSlot); } } - // Clean up keepalives will be done as a result of calling ki.stop() after the slots are - // freed. } public void handleStopKeepalive(NetworkAgentInfo nai, int slot, int reason) { |