1. 07 7月, 2021 2 次提交
    • H
      Replace flutter_runner::Thread with fml::Thread (#26783) · 46178d6c
      Hunter Freyer 提交于
      * Move task_observers.{cc,h} into fml.
      
      This is a preparatory CL. The next CL will cause task_observers.h to
      be included from both shell/platform/fuchsia _and_
      fml/platform/fuchsia. I imagine it might be gauche for a single file
      to be used from both those directories, but it seems way worse for fml
      to depend on shell, rather than the other way around.
      
      * Replace flutter_runner::Thread with fml::Thread.
      
      This CL makes the treading logic in Fuchsia's flutter_runner more
      consistent with fml expectations, but it still has quirks. Notably:
      
      - Not all async work get posted to a fml::TaskRunner. Some work done
        by Fuchsia libraries gets posted directly to
        async_get_default_dispatcher(). This work doesn't trigger the
        fml::MessageLoop's task observers. As a result, we continue to have
        Fuchsia-specific task observers which fire for all async work,
        regardless of which way it was posted.
      
      - There's awkwardness when trying to run Fuchsia code on a specific
        fml::TaskRunner if that fuchsia code accepts an
        async_dispatcher_t. Since you can no longer get an
        async_dispatcher_t for a given thread, you instead must post a
        closure to the fml::TaskRunner that calls
        async_get_default_dispatcher(), and then calls the fuchsia library
        with the default dispatcher.
      
      - Some tests still use task_runner_adapter.h because async::Loop
        offers more control in unit tests than fml::MessageLoop does.
      
      - If this successfully lands, there will be some cosmetic follow-up
        changes to make, like using ThreadHost instead of an array of
        fml::Threads.
      
      * Increase stack size in flutter runner.
      
      The previous change removes our custom 1MiB limit on the stack of
      newly created threads, so these threads revert to the Fuchsia
      default. google-internal tests were failing (without any particular
      error in the logs) after this change, so here we just set the default
      stack size to 1MiB.
      Co-authored-by: NHunter Freyer <hjfreyer@google.com>
      46178d6c
    • S
  2. 06 7月, 2021 10 次提交
  3. 05 7月, 2021 7 次提交
  4. 04 7月, 2021 7 次提交
  5. 03 7月, 2021 13 次提交
  6. 02 7月, 2021 1 次提交