| Index: runtime/bin/dbg_message.cc
|
| diff --git a/runtime/bin/dbg_message.cc b/runtime/bin/dbg_message.cc
|
| index e50754402223887f4360a5b6c438f3caf0c959ee..91558bf470ae674b718d047d7809d2aa4b8ac931 100644
|
| --- a/runtime/bin/dbg_message.cc
|
| +++ b/runtime/bin/dbg_message.cc
|
| @@ -1096,18 +1096,18 @@ void DbgMsgQueue::MessageLoop() {
|
| while (true) {
|
| // Handle all available vm service messages, up to a resume
|
| // request.
|
| - while (Dart_HasServiceMessages()) {
|
| + bool resume = false;
|
| + while (!resume && Dart_HasServiceMessages()) {
|
| // Release the message queue lock before handling service
|
| // messages. This allows notifications to come in while we are
|
| // processing long requests and avoids deadlock with the PortMap
|
| // lock in the vm.
|
| msg_queue_lock_.Exit();
|
| - bool resume = Dart_HandleServiceMessages();
|
| + resume = Dart_HandleServiceMessages();
|
| msg_queue_lock_.Enter();
|
| - if (resume) {
|
| - // Resume requested through the vm service.
|
| - break;
|
| - }
|
| + }
|
| + if (resume) {
|
| + break;
|
| }
|
|
|
| // Handle all available debug messages, up to a resume request.
|
|
|