summaryrefslogtreecommitdiff
path: root/src/sim/eventq.cc
diff options
context:
space:
mode:
authorAli Saidi <Ali.Saidi@ARM.com>2012-11-02 11:32:00 -0500
committerAli Saidi <Ali.Saidi@ARM.com>2012-11-02 11:32:00 -0500
commitd0678d1c31bbb0c08e58762a36d5d2382b0a537f (patch)
tree78c50afdcec4a036d9040ab271e724e146b19f87 /src/sim/eventq.cc
parent4440332bdd44453e5a301a46eabbab1e85fa8cfb (diff)
downloadgem5-d0678d1c31bbb0c08e58762a36d5d2382b0a537f.tar.xz
sim: Fix as issue where exit events on instr queues are used after freed.
Diffstat (limited to 'src/sim/eventq.cc')
-rw-r--r--src/sim/eventq.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/sim/eventq.cc b/src/sim/eventq.cc
index b389efcf2..b32b330e7 100644
--- a/src/sim/eventq.cc
+++ b/src/sim/eventq.cc
@@ -203,7 +203,8 @@ EventQueue::serviceOne()
if (!event->squashed()) {
event->process();
if (event->isExitEvent()) {
- assert(!event->flags.isSet(Event::AutoDelete)); // would be silly
+ assert(!event->flags.isSet(Event::AutoDelete) ||
+ !event->flags.isSet(Event::IsMainQueue)); // would be silly
return event;
}
} else {