Index: runtime/bin/main.cc |
diff --git a/runtime/bin/main.cc b/runtime/bin/main.cc |
index 5c36f41abee04c0ac518f95a8328b615e666fe24..547be0d0f6a61fc4040744d8b7d5c5f5b6c4e60d 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); |
} |
@@ -1038,6 +1040,8 @@ void main(int argc, char** argv) { |
DartUtils::EntropySource)) { |
fprintf(stderr, "%s", "VM initialization failed\n"); |
fflush(stderr); |
+ DebuggerConnectionHandler::StopHandler(); |
+ EventHandler::Stop(); |
exit(kErrorExitCode); |
} |
@@ -1062,6 +1066,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; |
@@ -1167,6 +1173,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]); |