-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Closed
Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work listengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.
Milestone
Description
WeakPtr currently uses a thread_checker to make sure it is always accessed in the same thread that it was created on.
This works for most of the cases, but fails after we dynamically change the thread configuration.
For example, the rasterizer is created on the GPUTaskRunner (gpu thread), after update GPUTaskRunner to run on platform thread, we are accessing the rasterizer on the platform thread, which is not the same thread the rasterizer was created on. This situation causes thread_checker in WeakPtr to fail.
We need to figure out a way to make the WeakPtr work with dynamic thread merging.
One solution could be to instead check pthread using thread_checker, we check the task_runner using some sort of task_runner_checker.
Metadata
Metadata
Assignees
Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work listengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.