diff options
| -rw-r--r-- | services/core/java/com/android/server/connectivity/Vpn.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/connectivity/Vpn.java b/services/core/java/com/android/server/connectivity/Vpn.java index c671a2c0cdad..6a000d9f96cf 100644 --- a/services/core/java/com/android/server/connectivity/Vpn.java +++ b/services/core/java/com/android/server/connectivity/Vpn.java @@ -2928,7 +2928,6 @@ public class Vpn { ikeConfiguration.isIkeExtensionEnabled( IkeSessionConfiguration.EXTENSION_TYPE_MOBIKE); onIkeConnectionInfoChanged(token, ikeConfiguration.getIkeSessionConnectionInfo()); - mRetryCount = 0; } /** @@ -3048,6 +3047,7 @@ public class Vpn { } doSendLinkProperties(networkAgent, lp); + mRetryCount = 0; } catch (Exception e) { Log.d(TAG, "Error in ChildOpened for token " + token, e); onSessionLost(token, e); @@ -3345,6 +3345,10 @@ public class Vpn { } private void scheduleRetryNewIkeSession() { + if (mScheduledHandleRetryIkeSessionFuture != null) { + Log.d(TAG, "There is a pending retrying task, skip the new retrying task"); + return; + } final long retryDelay = mDeps.getNextRetryDelaySeconds(mRetryCount++); Log.d(TAG, "Retry new IKE session after " + retryDelay + " seconds."); // If the default network is lost during the retry delay, the mActiveNetwork will be |