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

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

Make DohFrontend::clearQueries() synchronous am: 229fedcb

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

Change-Id: I6abc0706d214fa052b41b30a6597c76bc8662311
parents a9c77ff4 229fedcb
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -366,6 +366,7 @@ async fn worker_thread(params: WorkerParams) -> Result<()> {
                }
                }
            }
            }
            Some(command) = command_rx.recv() => {
            Some(command) = command_rx.recv() => {
                debug!("ControlCommand: {:?}", command);
                match command {
                match command {
                    ControlCommand::Stats {resp} => {
                    ControlCommand::Stats {resp} => {
                        let stats = Stats {
                        let stats = Stats {
+8 −0
Original line number Original line Diff line number Diff line
@@ -97,6 +97,14 @@ void DohFrontend::clearQueries() {
    std::lock_guard guard(mMutex);
    std::lock_guard guard(mMutex);
    if (mRustDoh) {
    if (mRustDoh) {
        frontend_stats_clear_queries(mRustDoh);
        frontend_stats_clear_queries(mRustDoh);

        // Because frontend_stats_clear_queries() is asynchronous, query the stat here to ensure
        // that mRustDoh reset the query count before clearQueries() returns.
        rust::Stats stats;
        rust::frontend_stats(mRustDoh, &stats);
        if (stats.queries_received != 0) {
            LOG(ERROR) << "queries_received is not 0";
        }
    }
    }
}
}