Delete the Request for a no-response Packet
when the Packet is deleted, since the requester can't possibly do it. --HG-- extra : convert_revision : 8571b144ecb3c70efc06d09faa8b3161fb58352d
This commit is contained in:
parent
93ab43288a
commit
623dd7ed3a
2 changed files with 9 additions and 2 deletions
|
@ -455,7 +455,15 @@ class Packet : public FastAlloc, public Printable
|
|||
|
||||
/** Destructor. */
|
||||
~Packet()
|
||||
{ if (staticData || dynamicData) deleteData(); }
|
||||
{
|
||||
// If this is a request packet for which there's no response,
|
||||
// delete the request object here, since the requester will
|
||||
// never get the chance.
|
||||
if (req && isRequest() && !needsResponse())
|
||||
delete req;
|
||||
if (staticData || dynamicData)
|
||||
deleteData();
|
||||
}
|
||||
|
||||
/** Reinitialize packet address and size from the associated
|
||||
* Request object, and reset other fields that may have been
|
||||
|
|
|
@ -83,7 +83,6 @@ SimpleTimingPort::recvTiming(PacketPtr pkt)
|
|||
assert(pkt->isResponse());
|
||||
schedSendTiming(pkt, curTick + latency);
|
||||
} else {
|
||||
delete pkt->req;
|
||||
delete pkt;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue