bool
SimpleMemory::recvTimingReq(PacketPtr pkt)
{
+ /// @todo temporary hack to deal with memory corruption issues until
+ /// 4-phase transactions are complete
+ for (int x = 0; x < pendingDelete.size(); x++)
+ delete pendingDelete[x];
+ pendingDelete.clear();
+
if (pkt->memInhibitAsserted()) {
// snooper will supply based on copy of packet
// still target's responsibility to delete packet
- delete pkt;
+ pendingDelete.push_back(pkt);
return true;
}
assert(pkt->isResponse());
port.schedTimingResp(pkt, curTick() + latency);
} else {
- delete pkt;
+ pendingDelete.push_back(pkt);
}
return true;