Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 18cbbe99 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix FD leak in NetworkStack" am: f76b1e49 am: 38a74150

Original change: https://android-review.googlesource.com/c/platform/packages/modules/NetworkStack/+/1364277

Change-Id: I447cddc84d87c9925e52a7a181d5e8ffe4cb116c
parents 785bd04e 38a74150
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -777,6 +777,7 @@ public class IpClient extends StateMachine {


    private void stopStateMachineUpdaters() {
    private void stopStateMachineUpdaters() {
        mObserverRegistry.unregisterObserver(mLinkObserver);
        mObserverRegistry.unregisterObserver(mLinkObserver);
        mLinkObserver.shutdown();
    }
    }


    @Override
    @Override
+7 −1
Original line number Original line Diff line number Diff line
@@ -114,6 +114,7 @@ public class IpClientLinkObserver implements NetworkObserver {
    private DnsServerRepository mDnsServerRepository;
    private DnsServerRepository mDnsServerRepository;
    private final AlarmManager mAlarmManager;
    private final AlarmManager mAlarmManager;
    private final Configuration mConfig;
    private final Configuration mConfig;
    private final Handler mHandler;


    private final MyNetlinkMonitor mNetlinkMonitor;
    private final MyNetlinkMonitor mNetlinkMonitor;


@@ -127,11 +128,16 @@ public class IpClientLinkObserver implements NetworkObserver {
        mLinkProperties = new LinkProperties();
        mLinkProperties = new LinkProperties();
        mLinkProperties.setInterfaceName(mInterfaceName);
        mLinkProperties.setInterfaceName(mInterfaceName);
        mConfig = config;
        mConfig = config;
        mHandler = h;
        mInterfaceLinkState = true; // Assume up by default
        mInterfaceLinkState = true; // Assume up by default
        mDnsServerRepository = new DnsServerRepository(config.minRdnssLifetime);
        mDnsServerRepository = new DnsServerRepository(config.minRdnssLifetime);
        mAlarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
        mAlarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
        mNetlinkMonitor = new MyNetlinkMonitor(h, log, mTag);
        mNetlinkMonitor = new MyNetlinkMonitor(h, log, mTag);
        h.post(mNetlinkMonitor::start);
        mHandler.post(mNetlinkMonitor::start);
    }

    public void shutdown() {
        mHandler.post(mNetlinkMonitor::stop);
    }
    }


    private void maybeLog(String operation, String iface, LinkAddress address) {
    private void maybeLog(String operation, String iface, LinkAddress address) {