Index: runtime/bin/main.cc |
diff --git a/runtime/bin/main.cc b/runtime/bin/main.cc |
index 4e2b24acce608c4e11f99cce29d897f7384bef8b..5b2c70b9c37aed5d9a58c8ff9efaf35bfc00f446 100644 |
--- a/runtime/bin/main.cc |
+++ b/runtime/bin/main.cc |
@@ -110,6 +110,8 @@ static void ErrorExit(int exit_code, const char* format, ...) { |
Dart_Cleanup(); |
+ DebuggerConnectionHandler::StopHandler(); |
+ EventHandler::Stop(); |
exit(exit_code); |
} |
@@ -1042,6 +1044,8 @@ void main(int argc, char** argv) { |
DartUtils::EntropySource)) { |
fprintf(stderr, "%s", "VM initialization failed\n"); |
fflush(stderr); |
+ DebuggerConnectionHandler::StopHandler(); |
+ EventHandler::Stop(); |
exit(kErrorExitCode); |
} |
@@ -1066,6 +1070,8 @@ void main(int argc, char** argv) { |
Log::PrintErr("%s\n", error); |
free(error); |
delete [] isolate_name; |
+ DebuggerConnectionHandler::StopHandler(); |
+ EventHandler::Stop(); |
exit((exit_code != 0) ? exit_code : kErrorExitCode); |
} |
delete [] isolate_name; |
@@ -1171,6 +1177,9 @@ void main(int argc, char** argv) { |
Dart_Cleanup(); |
+ DebuggerConnectionHandler::StopHandler(); |
+ EventHandler::Stop(); |
+ |
// Free copied argument strings if converted. |
if (argv_converted) { |
for (int i = 0; i < argc; i++) free(argv[i]); |