Add comments to explain why mayCloseSockets is called twice.
Test: m
Change-Id: Ide8a5b649c7bda26c41e3d11a5071eb1af7ae0a2
diff --git a/service/src/com/android/server/ConnectivityService.java b/service/src/com/android/server/ConnectivityService.java
index 5f51971..fa2efb6 100755
--- a/service/src/com/android/server/ConnectivityService.java
+++ b/service/src/com/android/server/ConnectivityService.java
@@ -8467,6 +8467,7 @@
exemptUids[1] = nai.networkCapabilities.getOwnerUid();
UidRangeParcel[] ranges = toUidRangeStableParcels(uidRanges);
+ // Close sockets before modifying uid ranges so that RST packets can reach to the server.
maybeCloseSockets(nai, ranges, exemptUids);
try {
if (add) {
@@ -8480,6 +8481,7 @@
loge("Exception while " + (add ? "adding" : "removing") + " uid ranges " + uidRanges +
" on netId " + nai.network.netId + ". " + e);
}
+ // Close sockets that established connection while requesting netd.
maybeCloseSockets(nai, ranges, exemptUids);
}