Commit 03d684be authored by John McCutchan's avatar John McCutchan Committed by GitHub

Fix a race in runFromSource. (#9495)

There is a race where we could complete a future based on a stream event
and then before we cancel the stream subscription, we get another event
and try and complete the future again.
parent f29dd4f9
...@@ -1124,7 +1124,8 @@ class FlutterView extends ServiceObject { ...@@ -1124,7 +1124,8 @@ class FlutterView extends ServiceObject {
// launch errors. // launch errors.
if (event.kind == ServiceEvent.kIsolateRunnable) { if (event.kind == ServiceEvent.kIsolateRunnable) {
printTrace('Isolate is runnable.'); printTrace('Isolate is runnable.');
completer.complete(null); if (!completer.isCompleted)
completer.complete(null);
} }
}); });
await owner.vm.runInView(viewId, await owner.vm.runInView(viewId,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment