// 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.

// @dart = 2.9

// Example of nested spawning of isolates from a URI
// Note: the following comment is used by test.dart to additionally compile the
// other isolate's code.
library NestedSpawnUriChild1Library;

import 'dart:isolate';

main(List<String> args, message) {
  ReceivePort port2 = new ReceivePort();
  port2.listen((msg) {
    if (msg != "re: hi") throw "Bad response: $msg";
    port2.close();
  });

  Isolate.spawnUri(Uri.parse('spawn_uri_nested_child2_vm_isolate.dart'), ['hi'],
      port2.sendPort);

  var data = message[0];
  var replyTo = message[1];
  replyTo.send(data);
}
