summaryrefslogtreecommitdiff
path: root/src/mem/ruby/common/Consumer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/ruby/common/Consumer.cc')
-rw-r--r--src/mem/ruby/common/Consumer.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mem/ruby/common/Consumer.cc b/src/mem/ruby/common/Consumer.cc
index 9f3735709..59605d51b 100644
--- a/src/mem/ruby/common/Consumer.cc
+++ b/src/mem/ruby/common/Consumer.cc
@@ -28,6 +28,8 @@
#include "mem/ruby/common/Consumer.hh"
+using namespace std;
+
void
Consumer::scheduleEvent(Cycles timeDelta)
{
@@ -43,4 +45,9 @@ Consumer::scheduleEventAbsolute(Tick evt_time)
em->schedule(evt, evt_time);
insertScheduledWakeupTime(evt_time);
}
+
+ Tick t = em->clockEdge();
+ set<Tick>::iterator bit = m_scheduled_wakeups.begin();
+ set<Tick>::iterator eit = m_scheduled_wakeups.lower_bound(t);
+ m_scheduled_wakeups.erase(bit,eit);
}