Index: runtime/vm/isolate.cc |
=================================================================== |
--- runtime/vm/isolate.cc (revision 3573) |
+++ runtime/vm/isolate.cc (working copy) |
@@ -100,9 +100,13 @@ |
"\tdest_port: %lld\n", |
source_name, message->reply_port(), name(), message->dest_port()); |
} |
+ |
+ Message::Priority priority = message->priority(); |
message_queue()->Enqueue(message); |
- ASSERT(message->priority() < Message::kOOBPriority); |
- if (message->priority() >= Message::kOOBPriority) { |
+ message = NULL; // Do not access message. May have been deleted. |
+ |
+ ASSERT(priority < Message::kOOBPriority); |
siva
2012/01/26 00:01:46
Shouldn't this assert be after the if check?
|
+ if (priority >= Message::kOOBPriority) { |
// Handle out of band messages even if the isolate is busy. |
ScheduleInterrupts(Isolate::kMessageInterrupt); |
} |