Always stop dhcp server even it is obsolete

If dhcp server is obsolete, explicitly stop it to shut down its thread.

Bug: 161418295
Test: atest CtsTetheringTest
Change-Id: Ic5b876bd23711ec8d832879a7baee0495246b218
This commit is contained in:
markchien
2020-07-22 21:28:48 +08:00
parent af9ec640c9
commit af2670f427
2 changed files with 50 additions and 14 deletions

View File

@@ -422,9 +422,13 @@ public class IpServer extends StateMachine {
getHandler().post(() -> {
// We are on the handler thread: mDhcpServerStartIndex can be read safely.
if (mStartIndex != mDhcpServerStartIndex) {
// This start request is obsolete. When the |server| binder token goes out of
// scope, the garbage collector will finalize it, which causes the network stack
// process garbage collector to collect the server itself.
// This start request is obsolete. Explicitly stop the DHCP server to shut
// down its thread. When the |server| binder token goes out of scope, the
// garbage collector will finalize it, which causes the network stack process
// garbage collector to collect the server itself.
try {
server.stop(null);
} catch (RemoteException e) { }
return;
}