From 29cefcbf1353b90f6b12334f8554efa87bd659c8 Mon Sep 17 00:00:00 2001 From: Ron Dreslinski Date: Sun, 12 Nov 2006 07:16:34 -0500 Subject: Don't insert reponses into the list more than once If you get inserted in the front, reschedule the event --HG-- extra : convert_revision : eccbacf5ec85600e5b68eb554fee2c0e2b65e965 --- src/mem/tport.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/mem/tport.cc') diff --git a/src/mem/tport.cc b/src/mem/tport.cc index a85ae2b14..c43c9aac0 100644 --- a/src/mem/tport.cc +++ b/src/mem/tport.cc @@ -118,8 +118,14 @@ SimpleTimingPort::sendTiming(PacketPtr pkt, Tick time) bool done = false; while (i != end && !done) { - if (time+curTick < i->first) + if (time+curTick < i->first) { + if (i == transmitList.begin()) { + //Inserting at begining, reschedule + sendEvent.reschedule(time+curTick); + } transmitList.insert(i,std::pair(time+curTick,pkt)); + done = true; + } i++; } } -- cgit v1.2.3