cpu: delete listener ptrs after removal
The listener pointer does not get deleted with the removeListener() function call, so we need to make sure it is deleted in the ProbeListenerObject. Change-Id: I370f34651b889c8c00a378743e9c1c09fa1d775e
This commit is contained in:
@@ -63,13 +63,18 @@ LocalInstTracker::stopListening()
|
||||
{
|
||||
ifListening = false;
|
||||
bool _ifRemoved;
|
||||
for (auto &listener : listeners) {
|
||||
for (auto &_listener : listeners) {
|
||||
_ifRemoved = getProbeManager()->removeListener(
|
||||
"RetiredInsts",
|
||||
*listener
|
||||
*_listener
|
||||
);
|
||||
DPRINTF(InstTracker, "If removed: %s\n", _ifRemoved ? "Yes" : "No");
|
||||
panic_if(!_ifRemoved, "Failed to remove listener");
|
||||
if (_listener != nullptr) {
|
||||
delete(_listener);
|
||||
DPRINTF(InstTracker, "Deleted Listener pointer\n");
|
||||
}
|
||||
}
|
||||
DPRINTF(InstTracker, "Stop listening to RetiredInsts\n");
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user