Reland "Create root isolate asynchronously (#20142)" (#21747)
This reverts commit 5585ed99. Additionally, the following _flutter.runInView deadlock is fixed. Previously, a deadlock would occur when service protocol _flutter.runInView is used to restart the engine wihtout tearing down the shell: the shared mutex of the service protocol will be locked during the restart as it's in the middle of handling a service protocol message; if ServiceProtocol::AddHandler is also called during the restart, the deadlock happens as AddHandler also requires such lock. test/integration.shard/background_isolate_test.dart would fail without this fix.
Showing
想要评论请 注册 或 登录