summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2022-08-15 17:10:40 +0200
committerMichal Klocek <michal.klocek@qt.io>2022-09-06 09:27:32 +0000
commit479cb46ed68d4d365f476de445d3372af4bf0b7f (patch)
treef3f836d243ee0051f074f05aa8e8e2dc2a153579
parent1df1a4d9a77f27e6065839562b95fefa12b1def4 (diff)
downloadqtwebengine-chromium-479cb46ed68d4d365f476de445d3372af4bf0b7f.tar.gz
Fix endless loop on race condition on qemu startup
Fix wierd race condtion which ends in endless loop with single-process, when gpu_channel_host is not ready in WidgetBase::RequestNewLayerTreeFrameSink and calls callbeck with nullptr, which ends in LayerTreeView::DidFailToInitializeLayerTreeFrameSink which again calls RequestNewLayerTreeFrameSink wihout giving a chance to initalize channel and round repets itself. Give 10ms delay to cover the issue. Task-number: QTBUG-105342 Change-Id: I575c6e9c2d95caa9afd6b0d6bb5e9e2374f264d0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
-rw-r--r--chromium/third_party/blink/renderer/platform/widget/compositing/layer_tree_view.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/chromium/third_party/blink/renderer/platform/widget/compositing/layer_tree_view.cc b/chromium/third_party/blink/renderer/platform/widget/compositing/layer_tree_view.cc
index 73e70b80b43..aa438c06554 100644
--- a/chromium/third_party/blink/renderer/platform/widget/compositing/layer_tree_view.cc
+++ b/chromium/third_party/blink/renderer/platform/widget/compositing/layer_tree_view.cc
@@ -272,9 +272,9 @@ void LayerTreeView::DidFailToInitializeLayerTreeFrameSink() {
return;
}
layer_tree_frame_sink_request_failed_while_invisible_ = false;
- layer_tree_host_->GetTaskRunnerProvider()->MainThreadTaskRunner()->PostTask(
+ layer_tree_host_->GetTaskRunnerProvider()->MainThreadTaskRunner()->PostDelayedTask(
FROM_HERE, base::BindOnce(&LayerTreeView::RequestNewLayerTreeFrameSink,
- weak_factory_.GetWeakPtr()));
+ weak_factory_.GetWeakPtr()), base::TimeDelta::FromMilliseconds(10));
}
void LayerTreeView::WillCommit() {