Index: runtime/vm/service_isolate.cc |
diff --git a/runtime/vm/service_isolate.cc b/runtime/vm/service_isolate.cc |
index e65c53962fd11854ce8a37c1ac8b8db358be8cd8..d4d02d7dd4222cfa5bbf93e96768911b4fe0b1d9 100644 |
--- a/runtime/vm/service_isolate.cc |
+++ b/runtime/vm/service_isolate.cc |
@@ -363,6 +363,9 @@ class RunServiceTask : public ThreadPool::Task { |
protected: |
static void ShutdownIsolate(uword parameter) { |
+ if (FLAG_trace_service) { |
+ OS::Print("vm-service: ShutdownIsolate\n"); |
+ } |
Isolate* I = reinterpret_cast<Isolate*>(parameter); |
ASSERT(ServiceIsolate::IsServiceIsolate(I)); |
ServiceIsolate::SetServiceIsolate(NULL); |
@@ -382,6 +385,10 @@ class RunServiceTask : public ThreadPool::Task { |
if (!error.IsNull() && !error.IsUnwindError()) { |
OS::PrintErr("vm-service: Error: %s\n", error.ToErrorCString()); |
} |
+ error = I->sticky_error(); |
+ if (!error.IsNull() && !error.IsUnwindError()) { |
+ OS::PrintErr("vm-service: Error: %s\n", error.ToErrorCString()); |
+ } |
Dart::RunShutdownCallback(); |
} |
// Shut the isolate down. |