Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1416)

Unified Diff: runtime/bin/dbg_message.cc

Issue 995883002: Yesterday's deadlock fix was wrong. It could drop notifications. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | runtime/include/dart_api.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/bin/dbg_message.cc
diff --git a/runtime/bin/dbg_message.cc b/runtime/bin/dbg_message.cc
index 2a0e9056cbe8230b2aee9e99ec23455c083ac497..1d8c22c024ab9475b20c2c5b1a8ecdb81d2cff83 100644
--- a/runtime/bin/dbg_message.cc
+++ b/runtime/bin/dbg_message.cc
@@ -1097,17 +1097,11 @@ void DbgMsgQueue::MessageLoop() {
// Handle all available vm service messages, up to a resume
// request.
bool resume = false;
-
- // 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();
while (!resume && Dart_HasServiceMessages()) {
+ msg_queue_lock_.Exit();
resume = Dart_HandleServiceMessages();
+ msg_queue_lock_.Enter();
}
- msg_queue_lock_.Enter();
-
if (resume) {
break;
}
« no previous file with comments | « no previous file | runtime/include/dart_api.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698