Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Conversation

@chinmaygarde
Copy link
Contributor

The number of workers depends on what the platform deem appropriate for the system at runtime.

The number of workers depends on what the platform deem appropriate for the system at runtime.
@chinmaygarde
Copy link
Contributor Author

This is WIP and prototypes the necessary infrastructure for supporting use cases like concurrent resource fetches.

@chinmaygarde
Copy link
Contributor Author

I got rid of the platform specific concurrent message loop in favor of one using condition variables and a mutex.

@chinmaygarde
Copy link
Contributor Author

Investigating why the tests are failing. The same pass on Mac.

@chinmaygarde
Copy link
Contributor Author

Addressed early shutdown.

@cbracken
Copy link
Member

cbracken commented Apr 8, 2019

/cc @jason-simmons

@chinmaygarde
Copy link
Contributor Author

Ping. This is good to go.

Copy link
Member

@cbracken cbracken left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One nit, but otherwise:

lgtm_hanko

FML_EMBEDDER_ONLY
static MessageLoop& GetCurrent();

enum class Type { kConcurrent };
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider adding an enum value for the default type (kSerial?)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Those are regular message loops that need to be explicitly run. I don't components to be able to start those up explicitly.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The ability to create a serial queue is present but that is the default with the no-argument constructor which is private.

}

MessageLoop::MessageLoop(Type)
: loop_(fml::MakeRefCounted<ConcurrentMessageLoop>()),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Support both types here. See comment in header.

@chinmaygarde chinmaygarde merged commit ca1d163 into flutter:master Apr 10, 2019
@chinmaygarde chinmaygarde deleted the concurrent_message_loop branch April 10, 2019 00:03
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Apr 10, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Apr 10, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Apr 10, 2019
engine-flutter-autoroll added a commit to flutter/flutter that referenced this pull request Apr 10, 2019
flutter/engine@eec74e5...905c571

git log eec74e5..905c571 --no-merges --oneline
905c571 Add windows host_debug_unopt build (flutter/engine#8515)
39e1d00 Remove redundant specification of the |flutter| namespace in the engine. (flutter/engine#8523)
56052c7 Rename the shell namespace to flutter. (flutter/engine#8520)
ca1d163 Support message loops whose tasks are executed concurrently. (flutter/engine#8419)
8ae84ec Roll src/third_party/skia de8362c6f212..10bf7020aa15 (5 commits) (flutter/engine#8522)
2dbd981 Roll src/third_party/dart 06ed3f598c..1490a90bc1 (8 commits)
5279132 Android Embedding PR27: Fix SurfaceView flicker in Fragment transactions (flutter/engine#8504)
86ab45c Remove the unused EnableBlink flag. (flutter/engine#8518)
d5880a6 Roll src/third_party/skia b5d8c634f95b..de8362c6f212 (14 commits) (flutter/engine#8519)

The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff (jsimmons@google.com), and stop
the roller if necessary.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants