| Index: runtime/vm/service_isolate.cc
|
| diff --git a/runtime/vm/service_isolate.cc b/runtime/vm/service_isolate.cc
|
| index 312667869ff20c14891cfb4979a79e37e5b6b83e..4680820273b390b0d4f63c6f6f8d9205de413e12 100644
|
| --- a/runtime/vm/service_isolate.cc
|
| +++ b/runtime/vm/service_isolate.cc
|
| @@ -652,8 +652,7 @@ class RunServiceTask : public ThreadPool::Task {
|
|
|
| ServiceIsolate::FinishedInitializing();
|
|
|
| - isolate->message_handler()->Run(Dart::thread_pool(),
|
| - NULL,
|
| + isolate->message_handler()->Run(NULL,
|
| ShutdownIsolate,
|
| reinterpret_cast<uword>(isolate));
|
| }
|
| @@ -668,6 +667,9 @@ class RunServiceTask : public ThreadPool::Task {
|
| StartIsolateScope start_scope(isolate);
|
| StackZone zone(isolate);
|
| HandleScope handle_scope(isolate);
|
| +
|
| + ServiceIsolate::KillAllIsolates();
|
| +
|
| Error& error = Error::Handle();
|
| error = isolate->object_store()->sticky_error();
|
| if (!error.IsNull()) {
|
| @@ -744,7 +746,7 @@ void ServiceIsolate::Run() {
|
| // Grab the isolate create callback here to avoid race conditions with tests
|
| // that change this after Dart_Initialize returns.
|
| create_callback_ = Isolate::CreateCallback();
|
| - Dart::thread_pool()->Run(new RunServiceTask());
|
| + ThreadPool::Run(new RunServiceTask());
|
| }
|
|
|
|
|
| @@ -812,4 +814,9 @@ Dart_Handle ServiceIsolate::LibraryTagHandler(Dart_LibraryTag tag,
|
| return Dart_LoadSource(library, url, source, 0, 0);
|
| }
|
|
|
| +
|
| +void ServiceIsolate::KillAllIsolates() {
|
| + Isolate::KillAllIsolates(isolate_);
|
| +}
|
| +
|
| } // namespace dart
|
|
|