Chromium Code Reviews| 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); |
| } |