| Index: runtime/bin/dbg_message.cc | 
| diff --git a/runtime/bin/dbg_message.cc b/runtime/bin/dbg_message.cc | 
| index a6358806daca30d265fda87d03c6b66a7fc05656..0a3038a619d198038fcac8f9d59b14910c383997 100644 | 
| --- a/runtime/bin/dbg_message.cc | 
| +++ b/runtime/bin/dbg_message.cc | 
| @@ -1402,14 +1402,17 @@ void DbgMsgQueueList::ExceptionThrownHandler(Dart_IsolateId isolate_id, | 
|  | 
| void DbgMsgQueueList::IsolateEventHandler(Dart_IsolateId isolate_id, | 
| Dart_IsolateEvent kind) { | 
| -  DebuggerConnectionHandler::WaitForConnection(); | 
| -  Dart_EnterScope(); | 
| if (kind == kCreated) { | 
| +    DebuggerConnectionHandler::WaitForConnection(); | 
| +    Dart_EnterScope(); | 
| DbgMsgQueue* msg_queue = AddIsolateMsgQueue(isolate_id); | 
| msg_queue->SendIsolateEvent(isolate_id, kind); | 
| +    Dart_ExitScope(); | 
| } else { | 
| DbgMsgQueue* msg_queue = GetIsolateMsgQueue(isolate_id); | 
| if (msg_queue != NULL) { | 
| +      DebuggerConnectionHandler::WaitForConnection(); | 
| +      Dart_EnterScope(); | 
| msg_queue->SendQueuedMsgs(); | 
| msg_queue->SendIsolateEvent(isolate_id, kind); | 
| if (kind == kInterrupted) { | 
| @@ -1418,9 +1421,11 @@ void DbgMsgQueueList::IsolateEventHandler(Dart_IsolateId isolate_id, | 
| ASSERT(kind == kShutdown); | 
| RemoveIsolateMsgQueue(isolate_id); | 
| } | 
| +      Dart_ExitScope(); | 
| } | 
| +    // If there is no receive message queue, do not wait for a connection, and | 
| +    // ignore the message. | 
| } | 
| -  Dart_ExitScope(); | 
| } | 
|  | 
| }  // namespace bin | 
|  |