mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
The service protocol's ListViews method needs to return description data for each engine in the process. Previously ListViews would queue a task to each UI thread to gather this data. However, the UI thread might be blocked from executing tasks (e.g. if the Dart isolate is paused), resulting in a deadlock. This change provides a copy of the engine's description data to the ServiceProtocol's global list of engines, allowing ListViews to run without accessing any UI threads. Fixes https://github.com/flutter/flutter/issues/24400