From cf5e4b544ef06342ec2366496975494c730e73f4 Mon Sep 17 00:00:00 2001 From: Jonah Williams Date: Wed, 8 Apr 2020 14:53:19 -0700 Subject: [PATCH] [flutter_tools] fix routing test (#54313) --- packages/flutter_tools/lib/src/vmservice.dart | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/flutter_tools/lib/src/vmservice.dart b/packages/flutter_tools/lib/src/vmservice.dart index 7f05b7ad1e4..da6d33efb33 100644 --- a/packages/flutter_tools/lib/src/vmservice.dart +++ b/packages/flutter_tools/lib/src/vmservice.dart @@ -350,6 +350,9 @@ class VMService implements vm_service.VmService { final io.WebSocket channel = await _openChannel(wsUri.toString(), compression: compression); final StreamController primary = StreamController(); final StreamController secondary = StreamController(); + // Create an instance of the package:vm_service API in addition to the flutter + // tool's to allow gradual migration. + final Completer streamClosedCompleter = Completer(); channel.listen((dynamic data) { primary.add(data); @@ -357,15 +360,14 @@ class VMService implements vm_service.VmService { }, onDone: () { primary.close(); secondary.close(); + if (!streamClosedCompleter.isCompleted) { + streamClosedCompleter.complete(); + } }, onError: (dynamic error, StackTrace stackTrace) { primary.addError(error, stackTrace); secondary.addError(error, stackTrace); }); - // Create an instance of the package:vm_service API in addition to the flutter - // tool's to allow gradual migration. - final Completer streamClosedCompleter = Completer(); - final vm_service.VmService delegateService = vm_service.VmService( primary.stream, channel.add,