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

Commit f76b1e49 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Fix FD leak in NetworkStack"

parents b5325bb1 80b3bc15
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) {