diff options
Diffstat (limited to 'src/mem/packet_queue.cc')
-rw-r--r-- | src/mem/packet_queue.cc | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/mem/packet_queue.cc b/src/mem/packet_queue.cc index 4a4543f61..eb94cc397 100644 --- a/src/mem/packet_queue.cc +++ b/src/mem/packet_queue.cc @@ -48,7 +48,7 @@ using namespace std; PacketQueue::PacketQueue(EventManager& _em, const std::string& _label) - : em(_em), sendEvent(this), drainEvent(NULL), label(_label), + : em(_em), sendEvent(this), drainManager(NULL), label(_label), waitingOnRetry(false) { } @@ -173,11 +173,11 @@ PacketQueue::scheduleSend(Tick time) em.schedule(&sendEvent, std::max(nextReady, curTick() + 1)); } else { // no more to send, so if we're draining, we may be done - if (drainEvent && transmitList.empty() && !sendEvent.scheduled()) { + if (drainManager && transmitList.empty() && !sendEvent.scheduled()) { DPRINTF(Drain, "PacketQueue done draining," "processing drain event\n"); - drainEvent->process(); - drainEvent = NULL; + drainManager->signalDrainDone(); + drainManager = NULL; } } } @@ -204,12 +204,12 @@ PacketQueue::processSendEvent() } unsigned int -PacketQueue::drain(Event *de) +PacketQueue::drain(DrainManager *dm) { if (transmitList.empty() && !sendEvent.scheduled()) return 0; DPRINTF(Drain, "PacketQueue not drained\n"); - drainEvent = de; + drainManager = dm; return 1; } |