Commit f7dd89e
Put actively executing messages on a queue
The choice to use a queue was somewhat arbitrary; I suspect that we
could just as easily use a list or a set. We might want to change it in
the future.
The important part of this CL is that we need to keep a reference to all
of the messages that are being executed so that we can cancel them. I'm
fairly sure that there is currently a bug that will prevent messages
from being cancelled if a later message has started running concurrently
because we only remember the most recently started message.
The next step is to update the test framework to allow for having the
order in which operations complete be different from run to run, and
then we can write tests to prove the fundamental properties that we
want the scheduler to exhibit.
Change-Id: If23fe7a61a8de24773b892157bbe301844b456ec
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/421582
Reviewed-by: Phil Quitslund <[email protected]>
Commit-Queue: Brian Wilkerson <[email protected]>1 parent bb77103 commit f7dd89e
File tree
1 file changed
+192
-169
lines changed- pkg/analysis_server/lib/src/scheduler
1 file changed
+192
-169
lines changed
0 commit comments