Index: runtime/vm/isolate.cc |
diff --git a/runtime/vm/isolate.cc b/runtime/vm/isolate.cc |
index 077e7745dff9e9e04af947878e194e542b90d72f..1fcf7e48a10ae17d7bb08484dcd84ac8330cf6ac 100644 |
--- a/runtime/vm/isolate.cc |
+++ b/runtime/vm/isolate.cc |
@@ -446,8 +446,6 @@ Isolate* Isolate::Init(const char* name_prefix) { |
result->SetStackLimitFromCurrentTOS(reinterpret_cast<uword>(&result)); |
result->set_main_port(PortMap::CreatePort(result->message_handler())); |
result->BuildName(name_prefix); |
- result->message_handler()->set_pause_on_start(FLAG_pause_isolates_on_start); |
- result->message_handler()->set_pause_on_exit(FLAG_pause_isolates_on_exit); |
result->debugger_ = new Debugger(); |
result->debugger_->Initialize(result); |
@@ -547,6 +545,10 @@ bool Isolate::MakeRunnable() { |
// Set the isolate as runnable and if we are being spawned schedule |
// isolate on thread pool for execution. |
is_runnable_ = true; |
+ if (!Service::IsServiceIsolate(this)) { |
+ message_handler()->set_pause_on_start(FLAG_pause_isolates_on_start); |
+ message_handler()->set_pause_on_exit(FLAG_pause_isolates_on_exit); |
+ } |
IsolateSpawnState* state = spawn_state(); |
if (state != NULL) { |
ASSERT(this == state->isolate()); |