| Index: lib/src/runner/browser/server.dart
|
| diff --git a/lib/src/runner/browser/server.dart b/lib/src/runner/browser/server.dart
|
| index f2a3624cb7896f3ff5891be7db81107fee125ce9..a4bab92f33566e94463a9cd1d028d333fa6897e1 100644
|
| --- a/lib/src/runner/browser/server.dart
|
| +++ b/lib/src/runner/browser/server.dart
|
| @@ -20,7 +20,6 @@ import 'package:shelf_web_socket/shelf_web_socket.dart';
|
| import '../../backend/metadata.dart';
|
| import '../../backend/suite.dart';
|
| import '../../backend/test_platform.dart';
|
| -import '../../util/async_thunk.dart';
|
| import '../../util/io.dart';
|
| import '../../util/one_off_handler.dart';
|
| import '../../util/path_handler.dart';
|
| @@ -124,10 +123,10 @@ class BrowserServer {
|
| final HttpClient _http;
|
|
|
| /// Whether [close] has been called.
|
| - bool get _closed => _closeThunk.hasRun;
|
| + bool get _closed => _closeMemo.hasRun;
|
|
|
| - /// The thunk for running [close] exactly once.
|
| - final _closeThunk = new AsyncThunk();
|
| + /// The memoizer for running [close] exactly once.
|
| + final _closeMemo = new AsyncMemoizer();
|
|
|
| /// All currently-running browsers.
|
| ///
|
| @@ -470,7 +469,7 @@ void main() {
|
| /// Returns a [Future] that completes once the server is closed and its
|
| /// resources have been fully released.
|
| Future close() {
|
| - return _closeThunk.run(() async {
|
| + return _closeMemo.runOnce(() async {
|
| var futures = _browsers.values.map((browser) => browser.close()).toList();
|
|
|
| futures.add(_server.close());
|
|
|