Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(759)

Unified Diff: pkg/analysis_server/lib/src/analysis_manager.dart

Issue 185313002: restructure client api to use streams (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: address comments Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | pkg/analysis_server/lib/src/channel.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analysis_server/lib/src/analysis_manager.dart
diff --git a/pkg/analysis_server/lib/src/analysis_manager.dart b/pkg/analysis_server/lib/src/analysis_manager.dart
index 15f1e6babeb07855551e07bc0f5b6d54fe4fd345..00602e4183b096714e03d7a4420d3ddf1d6ff9d9 100644
--- a/pkg/analysis_server/lib/src/analysis_manager.dart
+++ b/pkg/analysis_server/lib/src/analysis_manager.dart
@@ -5,6 +5,7 @@
import 'dart:async';
import 'dart:convert';
import 'dart:io';
+
import 'package:analysis_server/src/channel.dart';
import 'package:analysis_server/src/domain_server.dart';
import 'package:analysis_server/src/protocol.dart';
@@ -117,22 +118,26 @@ class AnalysisManager {
*/
Future<bool> stop() {
if (process == null) {
- return new Future.value(false);
+ return channel.close().then((_) => false);
}
- var request = new Request('0', ServerDomainHandler.SHUTDOWN_METHOD);
- channel.sendRequest(request);
- return process.exitCode
- .timeout(new Duration(seconds: 10))
- .catchError((error) {
+ return channel
+ .sendRequest(new Request('0', ServerDomainHandler.SHUTDOWN_METHOD))
+ .timeout(new Duration(seconds: 2), onTimeout: () {
+ print('Expected shutdown response');
+ })
+ .then((Response response) {
+ channel.close();
+ return process.exitCode;
+ })
+ .timeout(new Duration(seconds: 2), onTimeout: () {
+ print('Expected server to shutdown');
process.kill();
- throw 'Expected server to shutdown';
})
- .then((result) {
- if (result != 0) {
+ .then((int result) {
+ if (result != null && result != 0) {
exitCode = result;
}
return true;
});
}
-
}
« no previous file with comments | « no previous file | pkg/analysis_server/lib/src/channel.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698