| Index: runtime/vm/isolate.cc
|
| diff --git a/runtime/vm/isolate.cc b/runtime/vm/isolate.cc
|
| index 9be0a0feef65833c58e1ab6d82be332afaae0df2..c20def45467837153a63515762f8a6c5f22139bb 100644
|
| --- a/runtime/vm/isolate.cc
|
| +++ b/runtime/vm/isolate.cc
|
| @@ -1072,8 +1072,9 @@ void Isolate::DoneLoading() {
|
|
|
| bool Isolate::CanReload() const {
|
| #ifndef PRODUCT
|
| - return (!ServiceIsolate::IsServiceIsolateDescendant(this) &&
|
| - is_runnable() && !IsReloading() && no_reload_scope_depth_ == 0);
|
| + return !ServiceIsolate::IsServiceIsolateDescendant(this) &&
|
| + is_runnable() && !IsReloading() && (no_reload_scope_depth_ == 0) &&
|
| + IsolateCreationEnabled();
|
| #else
|
| return false;
|
| #endif
|
| @@ -2439,6 +2440,12 @@ void Isolate::EnableIsolateCreation() {
|
| }
|
|
|
|
|
| +bool Isolate::IsolateCreationEnabled() {
|
| + MonitorLocker ml(isolates_list_monitor_);
|
| + return creation_enabled_;
|
| +}
|
| +
|
| +
|
| void Isolate::KillLocked(LibMsgId msg_id) {
|
| Dart_CObject kill_msg;
|
| Dart_CObject* list_values[4];
|
|
|