stop method
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');
}
}