Memory leak due to no stop for IpNeighborMonitor.
1. When Wi-Fi enabled, ap0 interface is added and IpNeighborMonitor's start() is invoked in IpServer's constructor. 2. There's no stop for IpNeighborMonitor when IpServer stop. 3. During overnight test for Wi-Fi, networkstack is too slow to process request due to memory leak in IpNeighborMonitor and binder buffer is blocked causing exception. Solution: Invoke IpNeighborMonitor.stop() in UnavailableState.enter(). Bug: 159097215 Test: automatic, turn on and off Wi-Fi every 6 seconds overnight Original-Change: https://android-review.googlesource.com/1343440 Merged-In: I8f60c13706f05306e8f25a15f7861d7ecabbc10e Change-Id: I8f60c13706f05306e8f25a15f7861d7ecabbc10e
This commit is contained in:
@@ -1322,6 +1322,7 @@ public class IpServer extends StateMachine {
|
||||
class UnavailableState extends State {
|
||||
@Override
|
||||
public void enter() {
|
||||
mIpNeighborMonitor.stop();
|
||||
mLastError = TetheringManager.TETHER_ERROR_NO_ERROR;
|
||||
sendInterfaceState(STATE_UNAVAILABLE);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user