Index: runtime/vm/message_handler.cc |
diff --git a/runtime/vm/message_handler.cc b/runtime/vm/message_handler.cc |
index c92cde06ddd9f135f51262922249edc9dd6cd136..68344cb35db67ad979f96ade6edb381ee91f2d2d 100644 |
--- a/runtime/vm/message_handler.cc |
+++ b/runtime/vm/message_handler.cc |
@@ -94,34 +94,36 @@ void MessageHandler::Run(ThreadPool* pool, |
void MessageHandler::PostMessage(Message* message, bool before_events) { |
- MonitorLocker ml(&monitor_); |
- if (FLAG_trace_isolates) { |
- const char* source_name = "<native code>"; |
- Isolate* source_isolate = Isolate::Current(); |
- if (source_isolate) { |
- source_name = source_isolate->name(); |
+ Message::Priority saved_priority; |
+ { |
+ MonitorLocker ml(&monitor_); |
+ if (FLAG_trace_isolates) { |
+ const char* source_name = "<native code>"; |
+ Isolate* source_isolate = Isolate::Current(); |
+ if (source_isolate) { |
+ source_name = source_isolate->name(); |
+ } |
+ OS::Print("[>] Posting message:\n" |
+ "\tlen: %" Pd "\n" |
+ "\tsource: %s\n" |
+ "\tdest: %s\n" |
+ "\tdest_port: %" Pd64 "\n", |
+ message->len(), source_name, name(), message->dest_port()); |
} |
- OS::Print("[>] Posting message:\n" |
- "\tlen: %" Pd "\n" |
- "\tsource: %s\n" |
- "\tdest: %s\n" |
- "\tdest_port: %" Pd64 "\n", |
- message->len(), source_name, name(), message->dest_port()); |
- } |
- Message::Priority saved_priority = message->priority(); |
- if (message->IsOOB()) { |
- oob_queue_->Enqueue(message, before_events); |
- } else { |
- queue_->Enqueue(message, before_events); |
- } |
- message = NULL; // Do not access message. May have been deleted. |
+ saved_priority = message->priority(); |
+ if (message->IsOOB()) { |
+ oob_queue_->Enqueue(message, before_events); |
+ } else { |
+ queue_->Enqueue(message, before_events); |
+ } |
+ message = NULL; // Do not access message. May have been deleted. |
- if (pool_ != NULL && task_ == NULL) { |
- task_ = new MessageHandlerTask(this); |
- pool_->Run(task_); |
+ if (pool_ != NULL && task_ == NULL) { |
+ task_ = new MessageHandlerTask(this); |
+ pool_->Run(task_); |
+ } |
} |
- |
// Invoke any custom message notification. |
MessageNotify(saved_priority); |
} |