summaryrefslogtreecommitdiff
path: root/src/systemc/core/process.hh
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-08-21 15:29:15 -0700
committerGabe Black <gabeblack@google.com>2018-09-25 23:53:16 +0000
commit508929475d776645bcdb15956d7a98888dc54669 (patch)
tree47f1c7e27786dddedc06846a1ece66599262a866 /src/systemc/core/process.hh
parent12d4a14b9a673d5b55bd099fb782e6dcbcc02287 (diff)
downloadgem5-508929475d776645bcdb15956d7a98888dc54669.tar.xz
systemc: Improve scheduler cleanup.
Make the scheduler clear itself out when it's destructed to ensure that nobody will try to use it after it's gone away. Also make sure there are no pending events which might refer to it as well, either systemc events or gem5 events. Change-Id: I12dadc06bd9db7016a8dc0c1827b3e630b0d23d5 Reviewed-on: https://gem5-review.googlesource.com/12222 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src/systemc/core/process.hh')
-rw-r--r--src/systemc/core/process.hh1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/systemc/core/process.hh b/src/systemc/core/process.hh
index 25d3e4eb0..267a7ed3d 100644
--- a/src/systemc/core/process.hh
+++ b/src/systemc/core/process.hh
@@ -330,6 +330,7 @@ class Process : public ::sc_core::sc_object, public ListNode
virtual ~Process()
{
+ popListNode();
delete func;
for (auto s: staticSensitivities)
delete s;