blob: 54ef5953747de87b89a6f2f5cbc35a5d299e4ddb [file] [log] [blame]
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// Example of nested spawning of isolates from a URI
import 'dart:isolate';
import 'package:expect/async_helper.dart';
import 'package:expect/expect.dart';
main() {
asyncTest(() async {
final port = ReceivePort();
final exitPort = ReceivePort();
Isolate.spawnUri(
Uri.parse('spawn_uri_nested_child1_vm_isolate.dart'),
[],
[
[1, 2],
port.sendPort,
],
onExit: exitPort.sendPort,
);
asyncStart();
port.first.then(asyncSuccess);
// ensure main isolate doesn't exit before child isolate exits
await exitPort.first;
});
}