Chromium Code Reviews| Index: runtime/bin/dbg_message.cc |
| diff --git a/runtime/bin/dbg_message.cc b/runtime/bin/dbg_message.cc |
| index a6358806daca30d265fda87d03c6b66a7fc05656..5e6a42eb49c71ab590e1c7711abe23d2c0b669da 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(); |
|
turnidge
2015/06/30 22:15:46
What led to the changes in this file?
zra
2015/07/20 22:23:38
The VM Isolate has no receive queue. Isolate::Shut
|
| + 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 recieve message queue, do not wait for a connection, and |
|
turnidge
2015/06/30 22:15:46
typo: receive
zra
2015/07/20 22:23:38
Done.
|
| + // ignore the message. |
| } |
| - Dart_ExitScope(); |
| } |
| } // namespace bin |