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

Commit 23a45187 authored by Mike Yu's avatar Mike Yu Committed by Automerger Merge Worker
Browse files

Make getStatusForMetrics safer against deadlock am: f1b079a0

parents 124f2f72 f1b079a0
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -193,6 +193,7 @@ PrivateDnsStatus PrivateDnsConfiguration::getStatusLocked(unsigned netId) const
}

NetworkDnsServerSupportReported PrivateDnsConfiguration::getStatusForMetrics(unsigned netId) const {
    const auto networkType = resolv_get_network_types_for_net(netId);
    std::lock_guard guard(mPrivateDnsLock);

    if (mPrivateDnsModes.find(netId) == mPrivateDnsModes.end()) {
@@ -202,7 +203,7 @@ NetworkDnsServerSupportReported PrivateDnsConfiguration::getStatusForMetrics(uns

    const PrivateDnsStatus status = getStatusLocked(netId);
    NetworkDnsServerSupportReported event = {};
    event.set_network_type(resolv_get_network_types_for_net(netId));
    event.set_network_type(networkType);
    event.set_private_dns_modes(convertEnumType(status.mode));

    if (const auto it = mUnorderedDnsTracker.find(netId); it != mUnorderedDnsTracker.end()) {