Chromium Code Reviews| Index: runtime/vm/service.cc |
| diff --git a/runtime/vm/service.cc b/runtime/vm/service.cc |
| index 0a59f071f5621def10d86eba7b4f3cd03d58e13a..90fc8dc353d30d12f451a78ed67730b496af1d6e 100644 |
| --- a/runtime/vm/service.cc |
| +++ b/runtime/vm/service.cc |
| @@ -530,6 +530,9 @@ void Service::SendEvent(intptr_t eventFamilyId, |
| intptr_t eventType, |
| const Object& eventMessage) { |
| ASSERT(!ServiceIsolate::IsServiceIsolate(Isolate::Current())); |
| + if (ServiceIsolate::IsServiceIsolateDescendant(Isolate::Current())) { |
|
turnidge
2015/04/01 19:57:34
Make this an assert. Collapse to single test.
Cutch
2015/04/01 20:19:04
Done.
|
| + return; |
| + } |
| if (!ServiceIsolate::IsRunning()) { |
| return; |
| } |
| @@ -592,7 +595,8 @@ void Service::SendEvent(intptr_t eventFamilyId, |
| void Service::HandleGCEvent(GCEvent* event) { |
| - if (ServiceIsolate::IsServiceIsolate(Isolate::Current())) { |
| + if (ServiceIsolate::IsServiceIsolate(Isolate::Current()) || |
| + ServiceIsolate::IsServiceIsolateDescendant(Isolate::Current())) { |
|
turnidge
2015/04/01 19:57:34
Collapse to one test.
Cutch
2015/04/01 20:19:04
Done.
|
| return; |
| } |
| JSONStream js; |
| @@ -2419,7 +2423,8 @@ class ServiceIsolateVisitor : public IsolateVisitor { |
| void VisitIsolate(Isolate* isolate) { |
| if ((isolate != Dart::vm_isolate()) && |
| - !ServiceIsolate::IsServiceIsolate(isolate)) { |
| + !ServiceIsolate::IsServiceIsolate(isolate) && |
| + !ServiceIsolate::IsServiceIsolateDescendant(isolate)) { |
|
turnidge
2015/04/01 19:57:34
Collapse test.
Cutch
2015/04/01 20:19:04
Done.
|
| jsarr_->AddValue(isolate); |
| } |
| } |