Merge "Remove lock inversion in LegacyVpnRunner" am: 303762dce1 am: 9c14210258 am: a97a1d61ac am: 61560786d1

Change-Id: Idfdfa5a56e44e6a3557064e49bc979153ccbfa27
This commit is contained in:
Automerger Merge Worker
2020-03-11 01:05:24 +00:00

View File

@@ -2563,7 +2563,7 @@ public class Vpn {
public void exitIfOuterInterfaceIs(String interfaze) { public void exitIfOuterInterfaceIs(String interfaze) {
if (interfaze.equals(mOuterInterface)) { if (interfaze.equals(mOuterInterface)) {
Log.i(TAG, "Legacy VPN is going down with " + interfaze); Log.i(TAG, "Legacy VPN is going down with " + interfaze);
exit(); exitVpnRunner();
} }
} }
@@ -2572,6 +2572,10 @@ public class Vpn {
public void exitVpnRunner() { public void exitVpnRunner() {
// We assume that everything is reset after stopping the daemons. // We assume that everything is reset after stopping the daemons.
interrupt(); interrupt();
// Always disconnect. This may be called again in cleanupVpnStateLocked() if
// exitVpnRunner() was called from exit(), but it will be a no-op.
agentDisconnect();
try { try {
mContext.unregisterReceiver(mBroadcastReceiver); mContext.unregisterReceiver(mBroadcastReceiver);
} catch (IllegalArgumentException e) {} } catch (IllegalArgumentException e) {}
@@ -2794,7 +2798,7 @@ public class Vpn {
} catch (Exception e) { } catch (Exception e) {
Log.i(TAG, "Aborting", e); Log.i(TAG, "Aborting", e);
updateState(DetailedState.FAILED, e.getMessage()); updateState(DetailedState.FAILED, e.getMessage());
exit(); exitVpnRunner();
} }
} }