stop method

Future<void> stop([
  1. int exitCode = 0
])

Implementation

Future<void> stop([int exitCode = 0]) async {
  unlockInput();

  if (isCompleted) {
    logger.detail('Stop called but already completed');
    return;
  }

  logger.detail('Stopping dev server... (exitCode: $exitCode)');
  _progress?.cancel();

  await _cancelWatcherSubscription();
  await _killServerProcess();
  await _cancelInputSubscription();
  await _killSubscription?.cancel();
  await _closeBroadcastStream();

  // Complete the exit code completer to signal the process can exit
  if (!_exitCodeCompleter.isCompleted) {
    logger.detail('Completing exit code completer with code: $exitCode');
    _exitCodeCompleter.complete(exitCode);
  } else {
    logger.detail('Exit code completer was already completed');
  }
}