From 42b40b436a2d560507a0b38485d4dbfef79f4d8f Mon Sep 17 00:00:00 2001 From: chenjianguang Date: Tue, 2 Jun 2020 07:13:02 +0800 Subject: [PATCH] Fix BM_ShellShutdown regression (#18676) --- shell/common/shell_benchmarks.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/shell/common/shell_benchmarks.cc b/shell/common/shell_benchmarks.cc index 9d3a1a36f..2232997a3 100644 --- a/shell/common/shell_benchmarks.cc +++ b/shell/common/shell_benchmarks.cc @@ -66,6 +66,17 @@ static void StartupAndShutdownShell(benchmark::State& state, FML_CHECK(shell); + { + // The ui thread could be busy processing tasks after shell created, e.g., + // default font manager setup. The measurement of shell shutdown should be + // considered after those ui tasks have been done. + benchmarking::ScopedPauseTiming pause(state, true); + fml::AutoResetWaitableEvent latch; + fml::TaskRunner::RunNowOrPostTask(thread_host->ui_thread->GetTaskRunner(), + [&latch]() { latch.Signal(); }); + latch.Wait(); + } + { benchmarking::ScopedPauseTiming pause(state, !measure_shutdown); // Shutdown must occur synchronously on the platform thread. -- GitLab